【问题标题】:What is difference between MonthGenitiveNames and MonthNames? Why there is blank as month?MonthGenitiveNames 和 MonthNames 有什么区别?为什么有空白作为月份?
【发布时间】:2013-10-30 06:17:17
【问题描述】:

我对@9​​87654321@ 和MonthNames 感到困惑。两者的值都有月份名称,那么MonthGenitiveNamesMonthNames 有什么区别。

还有为什么会有一个月的“空白”?如果您查看两者的值,则会出现空白值。月份名称中的空白是什么原因?

【问题讨论】:

    标签: c# asp.net .net cultureinfo


    【解决方案1】:

    存在属格名称是因为某些语言使用不同大小写的名词来表示日期(属格而不是主格)。

    例如一月的波兰语主格是“styczeń”,但要表示日期 1 月 2 日,您需要使用属格“2 stycznia”。

    【讨论】:

    • 你的意思是属格是指文化特定的名字吗?为什么名称中有一个空格?
    • 属格是名词的另一种形式。它不会出现在所有语言中。这就像英语中的“of”,例如“一月”。我不确定空格。
    【解决方案2】:

    Michael Kaplan 写了很多关于基因的文章(请参阅 http://www.siao2.com/2010/09/09/10059644.aspxhttp://www.siao2.com/2012/01/05/10253370.aspx),所以我不会重复。简而言之,MonthNames 用于没有一天的上下文,而 GenitiveMonthNames 用于有一天的上下文。实际的格可能是也可能不是属格(之所以这样命名,是因为第一个区分属格很重要的情况确实有属格区分)。

    除了用于公历之外,MonthNames 和 GenitiveMonthNames 属性还用于公历以外的日历。当这样的日历系统有 13 个月时,第 13 个月不会有空白。由于公历系统中没有第 13 个月,因此对于公历,它将始终为空白。

    【讨论】:

    • 第二段不正确。属格是一个语法类别,与您使用的日历类型无关。例如,在波兰语中,您将使用关于格里高利系统和 Julisn 系统的相同语法形式。
    • @Szymon 我相信这一段是正确的。它没有声称属格是一个日历类别。 MonthNames 和 GenitiveMonthNames 是 DateTimeFormatInfo 的属性。第一句话只是声称这些属性不仅适用于公历,也适用于其他日历系统。其余的确定了这些属性中的每一个都需要有 13 个项目,从而回答了他关于为什么公历中有空白的问题。
    • 也许您可以说“MonthNames 和 GenitiveMonthNames用于公历以外的日历”以使其更清楚。
    • 好的,我修改澄清一下。
    【解决方案3】:

    链接:http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.monthgenitivenames.aspx:

    例如,俄语(俄罗斯)“ru-RU”文化中的日期由日期编号和属格月份名称组成。

    【讨论】:

    • 你的意思是属格是指文化特定的名字吗?为什么名称中有空格?
    • @HareshAmbaliya - 不,MonthNamesMonthGenitiveNames 都会返回特定于文化的名称 - 只是在某些文化中,月份名称的形式不止一种 - 使用哪一种取决于您将单词放入的句子的结构。
    猜你喜欢
    • 2019-08-12
    • 2021-11-14
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 1970-01-01
    • 2019-12-15
    相关资源
    最近更新 更多