我希望输出DateTime
这样的DateTime.Now.ToString("dd MMMM yyyy")
但是当我设置像cs-CZ
这样的文化时,我不想在此输出中使用属性月份名称。有可能对ToString()
函数说明吗?
DateTime.Now.ToString("dd MMMM yyyy") \\ returns "14 března 2016"
我想得到:
"14 březen 2016"
我需要这个,因为我必须将此DateTime
解析为jquery datepicker且无法处理genitive名称。
答案 0 :(得分:1)
奥基。我用.NET Team挖掘这个,然后我们得到了结果。
Tarek Mahmoud Sayed说;
这是 design 。在拥有
时Windows的行为“dd MMMM”
,“d MMMM”
,“MMMM dd”
,“MMMM d”
时,我们会使用该名称。如果你想强行使用 您可以使用“ddd MMMM yyyy”
的非通用名称。顺便说一下,这是一样的 调用GetDateFormatEx
您可以在CoreCLR上使用IsUseGenitiveForm
方法检查哪些格式使用带有关系的月份名称。
他们也说;
这是设计原因,因为
d
,dd
与MMMM
的组合 始终使用属性月份名称。使用ddd
将生成星期几。如果有人真的想避免使用属性月份 名字,他们可以:
- 覆盖用于格式化的
DateTimeFormatInfo
中的月份名称- 格式
连接“dd”
,然后将其与“MMMM yyyy”