如何在 C# 中获取加拿大安大略省的当前日期时间值

本文关键字:安大略省 当前日期 时间 加拿大 获取 | 更新日期: 2023-09-27 18:33:22

我想查找加拿大安大略省的当前日期时间值。我使用了以下代码,但它不起作用:

DateTime date = DateTime.ParseExact("20130930","yyyymmdd",System.Globalization.CultureInfo.CreateSpecificCulture("en-CA"));

其中20130930是今天的日期,即 2013-09-30。 我想要 yyyymmdd 格式的输出。 我也尝试过:

DateTime date = DateTime.ParseExact("20130930","yyyymmdd",System.Globalization.CultureInfo.CreateSpecificCulture("FR-CA"));

但它将结果显示为 30-01-2013 00:09:00 . 谁能说出我犯了什么错误,并在需要时纠正。

如何在 C# 中获取加拿大安大略省的当前日期时间值

您的格式字符串不正确

尝试使用yyyyMMdd

如果您需要将日期时间转换回字符串

DateTime date = DateTime.ParseExact("20130930","yyyyMMdd",System.Globalization.CultureInfo.CreateSpecificCulture("en-CA"));
string result =  date.ToString("yyyyMMdd",  System.Globalization.CultureInfo.InvariantCulture);

在日期时间格式中,MM表示月,mm表示分钟数

自定义日期和时间格式字符串

您可以将当前时间转换为UTC,然后使用它使用ConvertTimeFromUtc方法查找加拿大的日期时间,但您需要知道TimeZoneId(这将对您有所帮助)

var result =   TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(),
                TimeZoneInfo.FindSystemTimeZoneById("Atlantic Standard Time"));