Mad*_*olm 4 c# datetime cultureinfo
我目前正在开发一个小程序,我想根据cultureinfo清楚地显示日期和时间,如下所示: 2017年3月3日星期日上午7:46:57
但是,我希望可以选择任何国家/地区,并根据他们编写日期的方式获取日期输出。以丹麦为例,我想显示: Søndag, 3. marts 2017 7:46:57(<-- 晚上会是 '19:46:57')
请注意,“ 3 ”位于月份名称的另一侧。
我可以使用 CultureInfo.GetCultures 获取所有文化信息,没问题,但是当我显示日期时间时,我使用 MyDateTime.ToString(MyCultureInfo) 得到“Sunday 3/12/2017 7:46:57 AM”;
我知道如何提取月份名称,并且我可以手动构建一个字符串,其中所有这些数据都以我想要的方式显示我所知道的文化,但我不能代表我不知道的文化。如果有人选择“中文”或“阿拉伯语”,我不知道该显示什么。
我在想是否有某种方法可以在任何文化的正确位置获得带有月份名称的完整日期?
我不认为您正在寻找的格式是所有文化的默认格式。下面的代码将以Full指定文化的默认格式显示日期。F用于FullDateTimePattern。
var now = DateTime.Now;
var denmark = now.ToString("F", new CultureInfo("da-DK"));
Run Code Online (Sandbox Code Playgroud)
根据那行代码,输出是:
12. marts 2017 03:34:12
Run Code Online (Sandbox Code Playgroud)
所以我的结论是:丹麦的默认完整日期时间模式如上所述。如果您想要另一种格式,请使用下面的代码并根据需要对其进行调整,但请记住,丹麦人可能会发现这种模式很奇怪,因为他们可能不习惯它:
var denmarkCustomized = now.ToString("dddd, MMMM dd, yyyy h:mm:ss tt"
, new CultureInfo("da-DK"));
Run Code Online (Sandbox Code Playgroud)