c# - DateTimeFormatInfo.GetAllDateTimePatterns() 的重大更改记录在哪里?
问题描述
考虑以下代码:
using System;
using System.Globalization;
namespace Demo
{
static class Program
{
public static void Main()
{
var culture = CultureInfo.CreateSpecificCulture("EN-us");
Console.WriteLine(string.Join("\n", culture.DateTimeFormat.GetAllDateTimePatterns()));
}
}
}
当面向 .net Core 3.1(或 .net Framework 4.8)时,会显示:
M/d/yyyy
M/d/yy
MM/dd/yy
MM/dd/yyyy
yy/MM/dd
yyyy-MM-dd
dd-MMM-yy
dddd, MMMM d, yyyy
MMMM d, yyyy
dddd, d MMMM, yyyy
d MMMM, yyyy
dddd, MMMM d, yyyy h:mm tt
dddd, MMMM d, yyyy hh:mm tt
dddd, MMMM d, yyyy H:mm
dddd, MMMM d, yyyy HH:mm
MMMM d, yyyy h:mm tt
MMMM d, yyyy hh:mm tt
MMMM d, yyyy H:mm
MMMM d, yyyy HH:mm
dddd, d MMMM, yyyy h:mm tt
dddd, d MMMM, yyyy hh:mm tt
dddd, d MMMM, yyyy H:mm
dddd, d MMMM, yyyy HH:mm
d MMMM, yyyy h:mm tt
d MMMM, yyyy hh:mm tt
d MMMM, yyyy H:mm
d MMMM, yyyy HH:mm
dddd, MMMM d, yyyy h:mm:ss tt
dddd, MMMM d, yyyy hh:mm:ss tt
dddd, MMMM d, yyyy H:mm:ss
dddd, MMMM d, yyyy HH:mm:ss
MMMM d, yyyy h:mm:ss tt
MMMM d, yyyy hh:mm:ss tt
MMMM d, yyyy H:mm:ss
MMMM d, yyyy HH:mm:ss
dddd, d MMMM, yyyy h:mm:ss tt
dddd, d MMMM, yyyy hh:mm:ss tt
dddd, d MMMM, yyyy H:mm:ss
dddd, d MMMM, yyyy HH:mm:ss
d MMMM, yyyy h:mm:ss tt
d MMMM, yyyy hh:mm:ss tt
d MMMM, yyyy H:mm:ss
d MMMM, yyyy HH:mm:ss
M/d/yyyy h:mm tt
M/d/yyyy hh:mm tt
M/d/yyyy H:mm
M/d/yyyy HH:mm
M/d/yy h:mm tt
M/d/yy hh:mm tt
M/d/yy H:mm
M/d/yy HH:mm
MM/dd/yy h:mm tt
MM/dd/yy hh:mm tt
MM/dd/yy H:mm
MM/dd/yy HH:mm
MM/dd/yyyy h:mm tt
MM/dd/yyyy hh:mm tt
MM/dd/yyyy H:mm
MM/dd/yyyy HH:mm
yy/MM/dd h:mm tt
yy/MM/dd hh:mm tt
yy/MM/dd H:mm
yy/MM/dd HH:mm
yyyy-MM-dd h:mm tt
yyyy-MM-dd hh:mm tt
yyyy-MM-dd H:mm
yyyy-MM-dd HH:mm
dd-MMM-yy h:mm tt
dd-MMM-yy hh:mm tt
dd-MMM-yy H:mm
dd-MMM-yy HH:mm
M/d/yyyy h:mm:ss tt
M/d/yyyy hh:mm:ss tt
M/d/yyyy H:mm:ss
M/d/yyyy HH:mm:ss
M/d/yy h:mm:ss tt
M/d/yy hh:mm:ss tt
M/d/yy H:mm:ss
M/d/yy HH:mm:ss
MM/dd/yy h:mm:ss tt
MM/dd/yy hh:mm:ss tt
MM/dd/yy H:mm:ss
MM/dd/yy HH:mm:ss
MM/dd/yyyy h:mm:ss tt
MM/dd/yyyy hh:mm:ss tt
MM/dd/yyyy H:mm:ss
MM/dd/yyyy HH:mm:ss
yy/MM/dd h:mm:ss tt
yy/MM/dd hh:mm:ss tt
yy/MM/dd H:mm:ss
yy/MM/dd HH:mm:ss
yyyy-MM-dd h:mm:ss tt
yyyy-MM-dd hh:mm:ss tt
yyyy-MM-dd H:mm:ss
yyyy-MM-dd HH:mm:ss
dd-MMM-yy h:mm:ss tt
dd-MMM-yy hh:mm:ss tt
dd-MMM-yy H:mm:ss
dd-MMM-yy HH:mm:ss
MMMM d
MMMM d
yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
yyyy'-'MM'-'dd'T'HH':'mm':'ss
h:mm tt
hh:mm tt
H:mm
HH:mm
h:mm:ss tt
hh:mm:ss tt
H:mm:ss
HH:mm:ss
yyyy'-'MM'-'dd HH':'mm':'ss'Z'
dddd, MMMM d, yyyy h:mm:ss tt
dddd, MMMM d, yyyy hh:mm:ss tt
dddd, MMMM d, yyyy H:mm:ss
dddd, MMMM d, yyyy HH:mm:ss
MMMM d, yyyy h:mm:ss tt
MMMM d, yyyy hh:mm:ss tt
MMMM d, yyyy H:mm:ss
MMMM d, yyyy HH:mm:ss
dddd, d MMMM, yyyy h:mm:ss tt
dddd, d MMMM, yyyy hh:mm:ss tt
dddd, d MMMM, yyyy H:mm:ss
dddd, d MMMM, yyyy HH:mm:ss
d MMMM, yyyy h:mm:ss tt
d MMMM, yyyy hh:mm:ss tt
d MMMM, yyyy H:mm:ss
d MMMM, yyyy HH:mm:ss
MMMM yyyy
MMMM yyyy
但是,当面向 .net 5.0 时,会显示:
M/d/yyyy
MMM d, yyyy
M/d/yy
dddd, MMMM d, yyyy
MMMM d, yyyy
dddd, MMMM d, yyyy h:mm tt
MMMM d, yyyy h:mm tt
dddd, MMMM d, yyyy h:mm:ss tt
MMMM d, yyyy h:mm:ss tt
M/d/yyyy h:mm tt
MMM d, yyyy h:mm tt
M/d/yy h:mm tt
M/d/yyyy h:mm:ss tt
MMM d, yyyy h:mm:ss tt
M/d/yy h:mm:ss tt
MMMM d
MMMM d
yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
yyyy'-'MM'-'dd'T'HH':'mm':'ss
h:mm tt
h:mm:ss tt
yyyy'-'MM'-'dd HH':'mm':'ss'Z'
dddd, MMMM d, yyyy h:mm:ss tt
MMMM d, yyyy h:mm:ss tt
MMMM yyyy
MMMM yyyy
显然,这是一个突破性的变化。我在https://docs.microsoft.com/en-us/dotnet/core/compatibility/5.0上查找了文档,但找不到任何提及GetAllDateTimePatterns()
.
有谁知道此更改记录在哪里?
(我们遇到的一个具体问题是模式列表不包含任何内容M/d/yy h:mm
- 它只包含M/d/yy h:mm tt
该格式必须包含一个上午/下午指标。事实上,所有格式包括小时和分钟也需要一个上午/下午指示器。)
解决方案
推荐阅读
- java - 比较两个基于标签的xml作为唯一标签
- javascript - AngularJS 指令在编译并插入 DOM 后不会调用链接
- generics - 如何根据 Rust 中的泛型选择常量?
- python - 尝试从 HTML (Ajax) 运行 Python 脚本时出错
- typescript - TypeScript stepUp 方法在输入类型号上引发错误
- linq - 使用 LINQ 基于行比较连接行
- angular - 角度离子样式更改
- c++ - 混淆从“int []数组”到“指向int的指针”的显式衰减?
- html - 如何将导航设置为不透明
- sql - PostgreSQL 10.1 不正确的除法输出