如何创建区域性指定字符串以显示星期几和时间



我有一个DateTime对象,如何创建一个文化指定字符串来显示星期几和时间?

。"星期三23:00"或"星期四凌晨1:00"有些培养使用24小时格式,有些使用12小时格式

http://www.csharp-examples.net/string-format-datetime/

如何创建区域性指定字符串以显示星期几和时间吗?

通常使用DateTime.ToString(String, IFormatProvider)方法,您可以以指定的格式和区域性生成您的字符串表示。

有些培养使用24小时格式,有些培养使用12小时格式

没有这样的事。24小时时钟格式和12小时时钟格式属于。net框架的自定义日期和时间格式,而不是特定的文化。例如;hhh表示12小时格式,HHH表示24小时格式。此外,您使用的区域性不应该将AMDesignatorPMDesignator作为空字符串。否则,即使在您的格式中使用tt说明符,它也不会显示。

根据您的输出,如果您的CurrentCulture不是基于英语的,则需要使用基于英语的区域性(如InvariantCulture),因为WedThu是它们的缩写。

例如

,

DateTime dt = new DateTime(2015, 6, 3, 23, 0, 0);
Console.WriteLine(dt.ToString("ddd HH:mm", CultureInfo.InvariantCulture)); // Wed 23:00

DateTime dt = new DateTime(2015, 6, 4, 1, 0, 0);
Console.WriteLine(dt.ToString("ddd h:mm tt", CultureInfo.InvariantCulture)); // Thu 1:00 AM
// create a CultureInfo object with your desired culture
CultureInfo culture = new CultureInfo("en-GB");
// get a DateTime from wherever
DateTime dt = DateTime.Now;
// pass the culture during formatting
String s = dt.ToString(culture);

您可以将区域性传递给任何占用IFormatProviderToString的重载。

根据最终目标,Humanizer项目可能会有所帮助

相关内容

  • 没有找到相关文章

最新更新