根据MSDN,静态属性DateTimeFormatInfo.InvariantInfo“获取与区域性无关(不变量)的默认只读DateTimeFormatInfo对象”。
然而,长期的约会模式是"dddd,dd MMMM yyyy",给出了类似于2016年2月29日星期一的格式。这种格式在西欧的欧洲大陆上普遍使用。
然而,短日期模式是"MM/dd/yyyy“,其结果是2016年2月29日的格式。这种格式在美国是常用的。
更糟糕的是,当尝试转换为可排序格式"s“时,此FormatProvider将导致02/29/2016 00:00:00,这几乎是不可排序的。
这种不一致的行为是一种缺陷,还是对“文化独立者”的妥协?
发布于 2017-02-23 16:00:06
在我看来是很正常的行为。DateTimeFormatInfo.InvariantInfo既不是中性的也不是特定的区域性,但它生成的格式可以转换为任何区域性特定的格式。正如你在源代码中所看到的,它是以英语为基础的,但不是特定于文化的(en而不是en-US)。还有你的观察:
然而,短日期模式是"MM/dd/yyyy“,其结果是2016年2月29日的格式。这种格式在美国是常用的。
这是不正确的,因为安-美文化ToString("d")将给出2016年2月29日(没有领先)。时间也在上午或下午。
https://stackoverflow.com/questions/42418700
复制相似问题