Feedback

C# - English Ordinals

Veröffentlicht von am 28.03.2013
(1 Bewertungen)
Da ich keine DateTime.ToString()-Formatierung finden konnte, die mir das Datum umgangssprahclich ausgibt, habe ich sie mir eben selbst geschrieben.

Der folgende Code macht aus dem 02.02.2013 den Feb 2nd 2013.

---

Since I wasn't able to find a DateTime.ToString() to print out a date with ordinal numbers, I worte it myself.

The following code transforms 02/02/2013 into Feb 2nd 2013.
GFU-Schulungen  [Anzeige]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

ASP.NET Core und Angular Komplett für .NET-Entwickler

Sie  lernen in drei (3) Tagen wie man mit  ASP.NET Core und den Technologien  MVC, Entity Framework, WebAPI und  Razor professionelle sowie moderne  Web-Anwendungsarchitekturen aufbaut.  Die Schulung ist der perfekte  Einstieg um insbesondere datengetriebene  und präsentationsorientierte  Applikationen auf Basis der robusten und  skalierbaren ASP.NET Core  Plattform zu erstellen. Nach der Veranstaltung kennen Sie die Konzepte von Angular und können Angular in neue und bestehende ASP.NET-Anwendungen einsetzen.

using System;
using System.Globalization;
using System.Text;

namespace EnglishOrdinals
{
    public static class Program
    {
        private static String GetEnglishOrdinal(DateTime date)
        {
            String lastDayDigit;

            lastDayDigit = date.Day.ToString();
            lastDayDigit = lastDayDigit.Substring(lastDayDigit.Length - 1);
            if ((date.Day >= 11) && (date.Day <= 13))
            {
                lastDayDigit = "0";
            }
            switch (lastDayDigit)
            {
                case ("1"):
                    {
                        return ("st");
                    }
                case ("2"):
                    {
                        return ("nd");
                    }
                case ("3"):
                    {
                        return ("rd");
                    }
                default:
                    {
                        return ("th");
                    }
            }
        }

        public static void Main()
        {
            DateTime date;


            date = DateTime.Now;
            Console.WriteLine(FormatDate(date));
            for (Int32 day = 1; day < 32; day++)
            {
                date = new DateTime(2013, 3, day);
                Console.WriteLine(FormatDate(date));
            }
            Console.ReadLine();
        }

        private static String FormatDate(DateTime date)
        {
            StringBuilder sb;
            CultureInfo ci;

            ci = CultureInfo.GetCultureInfo("en-US");
            sb = new StringBuilder();
            sb.Append(date.ToString("MMM d", ci));
            sb.Append(GetEnglishOrdinal(date));
            sb.Append(date.ToString(" yyyy", ci));
            return (sb.ToString());
        }
    }
}
Abgelegt unter Format, DateTime, Ordinals, ToString.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!