通过将区域性设置为en-CA(加拿大),如何强制ASP.NET应用程序使用美国日期/时间

本文关键字:应用程序 NET ASP 何强制 时间 日期 美国 设置 区域性 en-CA 加拿大 | 更新日期: 2023-09-27 18:00:26

希望这是一个快速的问题-我将应用程序的文化设置为"en-CA"。我希望所有特定于区域性的内容都是"en-CA",除了日期格式。我希望日期格式是美国版本(mm/dd/yy),而不是加拿大版本(dd/mm/yy)。有什么想法吗?

谢谢。

通过将区域性设置为en-CA(加拿大),如何强制ASP.NET应用程序使用美国日期/时间

如果你真的想要"en-US"区域性,那么你应该创建一个en-US区域性,并使用它来格式化日期-时间。

var provider = new CultureInfo ("en-US", false);
var date = new DateTime (2011, 6, 27, 17, 7, 0);
date.ToString ("d", provider);

var provider = new CultureInfo ("en-US", false);
var date = new DateTime (2011, 6, 27, 17, 7, 0);
date.ToString ("MM/dd/yy", provider);

这与在当前区域性中将字符串格式化为"MM/dd/yy"不同。如果使用当前区域性(en-CA),则月份名称、日期名称和日期/时间分隔符仍将使用加拿大格式。

在明确指定您的文化(en-US)时,将使用该文化的正确拼写和缩写。

诚然,你不会注意到这两种文化之间的这种特殊格式有很大的不同,但如果你使用的是长日期格式,如"ddd,dd-MMM-yyyy",而你当前的文化是"fr-CA",你会发现更明显的差异。

如果这是在前端视图中,那么它将是:

String.Format("{0:MM/dd/yy}", DateTime.Now)

只需使用:

DateTime date;
date.ToString("MM/dd/yy")

以强制使用所需的格式。