看起来群众已经说了话,基本上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/DateTimeFormathttps://github.com/unicode-org/cldr/blob/b0a6207ff224a6cd8ca7f888c8a4740bacb83124/common/main/en_GB.xml#L1977 一百零二

关于这件事似乎有一些讨论. 有人在某处打了电话...

-

为了更清楚,我使用Tempus Dominus日期 Select 器. https://getdatepicker.com/ 它使用Intl.DateTimeFormat方法.

推荐答案

因此,我认为这在一定程度上取决于您的操作系统和数据采集器的 Select . 对于我使用https://getdatepicker.com/和Windows 10.解决这个问题的正确方法是

  1. 通过Nuget安装Microsoft.ICU.ICU4C.Runtime
  2. 在项目根目录中创建文件runtimeconfig.template.json

添加内容

{
      "configProperties": {
        "System.Globalization.AppLocalIcu": "72"
      }
    }

编译后,它会进入bin文件中的runtimeconfig.json.但该文件可能会被覆盖(如果您正在使用此类内容,则可能不受源代码控制.

你的任务完成了.总体而言,这可能是最好的方法,特别是如果您正在使用该DatePicker并开发一个可以在各种连接中使用的应用程序.(也使用短月格式;-"MMM")

Csharp相关问答推荐

.NET最小API映射将T参数列表为[FromQuery]

为什么xslWriter不总是按照xslWriterSet中指定的格式格式化该文档?

如何使嵌套for-loop更高效?

使用特定格式的JsonConvert序列化对象

`Task`只有在C#中等待时才会运行吗?

如何将ASP.NET Core 2.1(在.NET框架上运行)更新到较新的版本?

为什么我的表单在绑定到对象时提交空值?

尽管保证密钥不同,但已添加相同密钥的项(&Q;)

在具有不同属性名称的两个类之间创建关系

C#和ASP.NET核心标识:提高GetUserAsync调用的性能

C#带主体的主构造函数?

N层解决方案上的依赖注入-删除样板

如何比较C#中的L和ł(波兰字符)返回TRUE

有没有更好的方法来在CosmosDB上插入非id?

如何实现有条件的自定义Json转换器隐藏属性

为什么Swashbakle/Swagger在参数中包含变量名?

.NET6最小API:操作.MapGet之后的响应

为什么我不能在固定语句中使用外部函数?

无法通过服务控制台启动.NET Core 6.0服务(错误1053)

如何通过WinSCP判断SFTP会话中使用的加密算法?