c# - CultureInfo nb-NO DateTime.TryParse 在 VS2019 和 dotnetfiddle.net 上的差异
问题描述
在我的机器上运行并输出以下内容
string locale = "nb-NO";
CultureInfo culture = CultureInfo.CreateSpecificCulture(locale);
string shortDateFormatString = culture.DateTimeFormat.ShortDatePattern;
string shortTimeFormatString = culture.DateTimeFormat.ShortTimePattern;
我得到以下输出
shortDateFormatString "dd.MM.yyyy"
ShortTimePattern "HH:mm"
但是在 dotnetfiddle.net 我得到了以下
shortDateFormatString "dd.MM.yyyy"
ShortTimePattern "HH.mm"
我想C#使用CLDR,所以根据 https://github.com/unicode-cldr/cldr-dates-full/blob/1af902b749bef761f07281f80241250053b4313d/main/nb/ca-gregorian.json#L323
两种短时间模式都应该是有效的。在 dotnetfiddle 上,可以解析 nb-NO 日期时间,如下所示
06.12.2017 12:34
06.12.2017 12.34
但是在我机器上的 VS2019 中,只能解析
06.12.2017 12:34
怎么可能不一样?两者都使用.NET 4.7.2。
你可以在这里查看我的小提琴https://dotnetfiddle.net/68DDYz
解决方案
怎么可能不一样?
因为文化信息是从操作系统加载的,并且会随着时间而变化。除非两台机器使用完全相同的 Windows 版本(相同的更新集、修补程序等),否则它们完全有可能在短时间模式等方面具有不同的值。(是的,这很烦人,但这是生活的一部分。)
推荐阅读
- javascript - 在 Heroku 上重新启动后,Better-SQLite3 数据库重置
- angular - Angular - 如何在下拉列表中设置默认选项
- mysql - 如何优化 mysql 查询
- java - 内容下载在 chrome for Web App 中占用太多
- apache - 在 Github 页面上重定向 zip 文件
- php - PHP表单值导致数组
- ember.js - 用于 Ember 注入服务的 Intellisense
- python - 将变量传递给索引函数 - Python
- flutter - Flutter - Persisting BottomNavigationBar - 如何不在某些页面上显示?
- postgresql - SQLAlchemy Core - 生成 PostgreSQL SUBSTRING 表达式?