【发布时间】:2020-08-03 13:17:29
【问题描述】:
我正在尝试更改 DateSeparator,但它不适用于所有文化。下面,我尝试在日韩文化中格式化日期,并使用下划线作为日期分隔符。它适用于日本,但不适用于韩国。我发现其他一些文化也有这种行为。
CultureInfo jpCulture = CultureInfo.CreateSpecificCulture("jp");
DateTimeFormatInfo jpFormat = jpCulture.DateTimeFormat;
jpFormat.DateSeparator = "_";
CultureInfo koCulture = CultureInfo.CreateSpecificCulture("ko");
DateTimeFormatInfo koFormat = koCulture.DateTimeFormat;
koFormat.DateSeparator = "_";
string jpDate = DateTime.Now.ToString("d", jpFormat);
string koDate = DateTime.Now.ToString("d", koFormat);
System.Console.WriteLine($"My local (US) formatting: {DateTime.Now:d} - JP Formatter: {jpDate} - KO Formatter: {koDate}");
将输出:
My local (US) formatting: 8/3/2020 - JP Formatter: 08_03_2020 - KO Formatter: 2020-08-03
我原以为韩文格式的字符串也会使用下划线。
我的目标是始终使用适合文化(YMD、MDY 或 DMY)但使用可自定义分隔符的日期格式。有没有更合适的方法来做到这一点?
【问题讨论】:
标签: c# localization