C# DateTime ToString不使用属地月份名称

C# DateTime ToString不使用属地月份名称,c#,datetime,C#,Datetime,我想像这样输出一个DateTimeDateTime.Now.ToString(“dd-MMMM-yyyy”)但是当我设置了一个类似于cs-CZ的区域性时,我不想在这个输出中使用genitive month name。可以对ToString()函数这么说吗 DateTime.Now.ToString("dd MMMM yyyy") \\ returns "14 března 2016" 我想得到: "14 březen 2016" 我之所以需要它,是因为我必须将这个DateTime解析为jq

我想像这样输出一个
DateTime
DateTime.Now.ToString(“dd-MMMM-yyyy”)但是当我设置了一个类似于
cs-CZ
的区域性时,我不想在这个输出中使用genitive month name。可以对
ToString()
函数这么说吗

DateTime.Now.ToString("dd MMMM yyyy") \\ returns "14 března 2016" 
我想得到:

"14 březen 2016"

我之所以需要它,是因为我必须将这个
DateTime
解析为jquery日期选择器,而该选择器不能处理属地名称。

好的。我和.NET团队一起研究了这个问题,这里是我们得到的结果

塔里克·马哈茂德·赛义德说

这是故意的。当有
“dd MMMM”
“d MMMM”
“MMMM dd”
“MMMM
d“
我们使用属格名称。如果要强制使用 您可以使用非属地名称
“ddd MMMM yyyy”
。顺便说一下,这是一样的 调用时Windows的行为也是如此

您可以通过启用的
IsUseGenitiveForm
方法检查哪些格式使用属地月份名称

他们还说,

这是因为
d
dd
MMMM
始终使用属地月份名称。使用
ddd
将生成星期几。如果有人真的想要避免使用属格月 名称,它们可以是:

  • 覆盖
    DateTimeFormatInfo
    中用于格式化的月份名称
  • 格式化
    “dd”
    ,然后将其与
    “MMMM-yyyy”

你能举一个令人满意的输出例子吗?你需要本地化语言的月份名称吗?@Anand是的,我已经本地化了,但我不需要属人的版本。@SonerGönül是的,你是对的,我的整个问题是我不想显示属人的版本。那么,没有捷克语的属人月份名称正确吗?如果在语言上不正确,并且您使用格式化的日期将数据传输到另一个组件(日期选择器),那么您很可能做了一些错误的事情(也就是说,在使用其他语言设置的系统上很容易出现故障)。我发现,但是每次我需要使用这个,或者在整个项目中的任何地方,我都必须设置它,所以不能使用属格名称。。。。