【发布时间】:2013-10-30 06:17:17
【问题描述】:
我对@987654321@ 和MonthNames 感到困惑。两者的值都有月份名称,那么MonthGenitiveNames 和MonthNames 有什么区别。
还有为什么会有一个月的“空白”?如果您查看两者的值,则会出现空白值。月份名称中的空白是什么原因?
【问题讨论】:
标签: c# asp.net .net cultureinfo
我对@987654321@ 和MonthNames 感到困惑。两者的值都有月份名称,那么MonthGenitiveNames 和MonthNames 有什么区别。
还有为什么会有一个月的“空白”?如果您查看两者的值,则会出现空白值。月份名称中的空白是什么原因?
【问题讨论】:
标签: c# asp.net .net cultureinfo
存在属格名称是因为某些语言使用不同大小写的名词来表示日期(属格而不是主格)。
例如一月的波兰语主格是“styczeń”,但要表示日期 1 月 2 日,您需要使用属格“2 stycznia”。
【讨论】:
Michael Kaplan 写了很多关于基因的文章(请参阅 http://www.siao2.com/2010/09/09/10059644.aspx 和 http://www.siao2.com/2012/01/05/10253370.aspx),所以我不会重复。简而言之,MonthNames 用于没有一天的上下文,而 GenitiveMonthNames 用于有一天的上下文。实际的格可能是也可能不是属格(之所以这样命名,是因为第一个区分属格很重要的情况确实有属格区分)。
除了用于公历之外,MonthNames 和 GenitiveMonthNames 属性还用于公历以外的日历。当这样的日历系统有 13 个月时,第 13 个月不会有空白。由于公历系统中没有第 13 个月,因此对于公历,它将始终为空白。
【讨论】:
例如,俄语(俄罗斯)“ru-RU”文化中的日期由日期编号和属格月份名称组成。
【讨论】:
MonthNames 和 MonthGenitiveNames 都会返回特定于文化的名称 - 只是在某些文化中,月份名称的形式不止一种 - 使用哪一种取决于您将单词放入的句子的结构。