Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

How not to get a month's name

I've had a genuine TheDailyWTF moment earlier today, when I found the C# equivalent of this VB6 code that returns a three letter month name:

DateTime time = DateTime.Now;
string foldername = time.Year.ToString() + "_" + GetMonthName(time.Month);


private static string GetMonthName(int month)
{
    switch (month)
    {
        case 1:
            return "Jan";

        case 2:
            return "Feb";

        case 3:
            return "Mar";

        case 4:
            return "Apr";

        case 5:
            return "May";

        case 6:
             return "Jun";

        case 7:
             return "Jul";

        case 8:
             return "Aug";

        case 9:
             return "Sep";

        case 10:
             return "Oct";

        case 11:
             return "Nov";

        case 12:
             return "Dec";
    }
    return month.ToString();
}

This code runs on a server with non-English regional settings. My guess is the coder wanted to ensure that (s)he would get back the english month name even if the thread run using non-English regional settings.

The .NET Framework has already solved this problem by accepting an provider parameter in the String.Format and DateTime.ToString() methods. The provider parameter can accept any CultureInfo object including the CultureInfo.InvariantCulture culture which guarantees that string conversions will be locale-agnostic (actually, they are the en-US locale settings). Getting the folder name is as simple as this:

DateTime time = DateTime.Now;
string name = time.ToString("yyyy_MMM", CultureInfo.InvariantCulture);
Έχουν δημοσιευτεί Τρίτη, 22 Ιουνίου 2010 4:38 μμ από το μέλος Παναγιώτης Καναβός
Δημοσίευση στην κατηγορία:

Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

Χωρίς Σχόλια

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)
απαιτούμενο
(απαιτούμενο)
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image