Formatting a DateTime to a shorthand month in English
I have a bit of code that's format开发者_开发百科ting the shorthand month name, see below, but I need the value to always return in English. This code currently seems to be translated into the appropriate language somehow?
Any ideas? Many thanks!
Response.write(myDateTimeValue.ToString("MMM")); // Needs to always return Jan for all languages
month.ToString("MMM", CultureInfo.InvariantCulture);
InvariantCulture is explicitly for situations where you always need the result to be the same, and always matches en-US. There is no need to create a new instance of CultureInfo.
You can do this by passing a culture info object to the ToString()
method as follows:
CultureInfo ci = new CultureInfo("en-GB");
Response.write(month.ToString("MMM", ci));
month.ToString("MMM", CultureInfo.CreateSpecificCulture("en-US"));
month.ToString("MMM", new CultureInfo("en-US"))
You need to call ToString
passing in a IFormatProvider
that is for the English culture:
Response.write(month.ToString("MMM", CultureInfo.CreateSpecificCulture("en-GB")));
精彩评论