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]

C# 2017/2015/2013 Grundlagen

Nach Abschluss des Kurses sind Ihnen die Datentypen und Klassenbibliotheken von C# bekannt. Außerdem sind Sie in der Lage, mit Variablen umzugehen und deren Typen zu konvertieren. Sie definieren Namespaces und setzen diese ein, Sie erstellen eigene Klassen  und bauen Trouble Shooting ein.

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

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!