【发布时间】:2018-12-11 08:46:36
【问题描述】:
当我编写此代码时,日期设置为“12/12/2018 20:08”这样就可以了
{
var newCulture = new CultureInfo("en-GB");
var date = (value as DateTime?)?.ToString(newCulture.DateTimeFormat.ShortDatePattern+" HH:mm", CultureInfo.InvariantCulture);
}
但是当我将文化名称更改为“en-Us”时,结果是“12.12.2018 20:08”(我知道的格式不正确)-返回 ShortDatePattern 的日期格式不正确
我在另一个桌面上对其进行了测试,它可以与其中的 2 个一起正常工作。 可能对桌面设置有某种依赖? 为什么日期格式多种多样?
【问题讨论】:
-
你有什么问题?
-
在美国,12 和 12 正好相反。
-
我似乎记得一些奇怪的情况,系统在查找文化时会执行区分大小写的比较,而不是不区分大小写的比较。如果您指定
en-US而不是en-Us,有什么变化吗?您还说有些事情“不正确”,但没有告诉我们您的期望。 -
1.文化名称区分大小写 - 所以
"en-Us"应该是"en-US"。 2. 这两种文化之间的日期和月份是相反的 - GB 是dd/mm/yyyy,美国是mm/dd/yyyy。 -
是的,桌面设置很重要。使用控制面板 > 语言 > 更改日期、时间和数字格式。并与某人谈论它,这肯定是为了解决另一个程序的某种问题而改变的。
标签: c# .net datetime datetime-format