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

C# 如何创建区域性指定字符串以显示星期几和时间?,c#,datetime,C#,Datetime,我有一个DateTime对象,如何创建一个指定区域性的字符串来显示星期几和时间 e、 g.“周三23:00”或“周四凌晨1:00” 有些文化使用24小时格式,有些文化使用12小时格式 我看不到符合我需要的格式 // create a CultureInfo object with your desired culture CultureInfo culture = new CultureInfo("en-GB"); // get a DateTime from wherever DateTi

我有一个DateTime对象,如何创建一个指定区域性的字符串来显示星期几和时间

e、 g.“周三23:00”或“周四凌晨1:00” 有些文化使用24小时格式,有些文化使用12小时格式

我看不到符合我需要的格式

// 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);
您可以将区域性传递给采用
IFormatProvider
ToString
的任何重载


您可以将区域性传递给
ToString
的任何重载,这些重载采用
IFormatProvider

,具体取决于最终目标是什么,可能会有帮助

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

通常使用with,可以以指定的特定格式和区域性生成字符串表示形式

有些文化使用24小时格式,有些文化使用12小时格式

没有这样的事。24小时时钟格式和12小时时钟格式在.NET Framework中属于一种文化,而不是一种特定的文化。比如,
h
hh
说明符用于12小时格式,
h
hh
说明符用于24小时格式。此外,您使用的区域性不应将和作为空字符串。否则,即使在格式中使用,也不会显示

根据您的输出,如果您的输出不是基于英语的,则您需要使用基于英语的文化(如),因为
Wed
Thu
都属于这些文化

比如,

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

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

通常使用with,可以以指定的特定格式和区域性生成字符串表示形式

有些文化使用24小时格式,有些文化使用12小时格式

没有这样的事。24小时时钟格式和12小时时钟格式在.NET Framework中属于一种文化,而不是一种特定的文化。比如,
h
hh
说明符用于12小时格式,
h
hh
说明符用于24小时格式。此外,您使用的区域性不应将和作为空字符串。否则,即使在格式中使用,也不会显示

根据您的输出,如果您的输出不是基于英语的,则您需要使用基于英语的文化(如),因为
Wed
Thu
都属于这些文化

比如,

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

从那里开始并搜索。从那里开始并搜索。从那里开始并搜索。