看起来群众已经说了话,基本上9月的缩写是现在的9月.
所以,虽然Intl.DateTimeFormat 按照(我的DatePicker使用的)原理工作,我的操作系统(目前)没有收到备忘录,并继续与9月9日一起工作.
总之,为了解决这个问题,我添加了
CultureInfo ci = new CultureInfo("en-GB");
DateTimeFormatInfo dtfi = ci.DateTimeFormat;
dtfi.AbbreviatedMonthNames = new string[] {
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec", ""
};
dtfi.AbbreviatedMonthGenitiveNames = dtfi.AbbreviatedMonthNames;
CultureInfo.DefaultThreadCurrentCulture = ci;
CultureInfo.DefaultThreadCurrentUICulture = ci;
到我的程序文件中,这似乎确实解决了问题,我希望当Windows 11到来时(对我来说),我可能不需要那个代码.
我的问题是-这是正确的解决方案吗? 我的应用程序只会在英国使用,但我有点谨慎.我似乎创造了一种新的文化,并基本上迫使程序使用它.
这是正确的做法吗?
-
编辑,抱歉,我会稍微备份一下-所以当涉及到日期 Select 器时,我喜欢使用格式dd-MMM-yyyy
.这是相当标准的,用户/工作人员可以来自各个部分,只是消除了日期格式上的任何"模棱两可".例如,英国对美国.
至于官方的"群众已经说了"-我可能说错了.然而, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat个 https://github.com/unicode-org/cldr/blob/b0a6207ff224a6cd8ca7f888c8a4740bacb83124/common/main/en_GB.xml#L1977 一百零二
关于这件事似乎有一些讨论. 有人在某处打了电话...
-
为了更清楚,我使用Tempus Dominus日期 Select 器. https://getdatepicker.com/ 它使用Intl.DateTimeFormat方法.