我try 以以下格式打印日期:2024年1月14日.为了实现这一点,我编写了以下代码
@DateTime.UtcNow.ToString("MM/dd/yyyy")
但是,输出如下所示:01-14-2024.
我有点不明白为什么它会变成-
在Windows 11计算机上运行.Net Core 7 Web应用程序.
我try 以以下格式打印日期:2024年1月14日.为了实现这一点,我编写了以下代码
@DateTime.UtcNow.ToString("MM/dd/yyyy")
但是,输出如下所示:01-14-2024.
我有点不明白为什么它会变成-
在Windows 11计算机上运行.Net Core 7 Web应用程序.
在日期时间格式中,斜杠有一个特殊的含义:它是一个分隔符.它会根据你的文化变成其他东西.
下面是一个例子:
var now = DateTime.UtcNow;
Console.WriteLine(now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture));
Console.WriteLine(now.ToString("MM/dd/yyyy", CultureInfo.GetCultureInfo("en-US")));
Console.WriteLine(now.ToString("MM/dd/yyyy", CultureInfo.GetCultureInfo("en-CA")));
在 compose 本文时,上述内容将打印出来
01/14/2024
01/14/2024
01-14-2024
如你所见,加拿大文化使用破折号.美国文化得到了斜杠,不变的文化也是如此.
如果您没有指定区域性(如您在问题中所做的),则将使用current区域性,这取决于您的计算机的配置.
如果对您来说足够好的话,您可以使用不变文化.
或者,您可以使用反斜杠对斜杠进行转义:
now.ToString("MM\\/dd\\/yyyy");