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

时间:2013-09-30 11:24:03

标签: c# datetime

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

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。任何人都可以告诉我犯了什么错误,并在需要时纠正。

1 个答案:

答案 0 :(得分:2)

您的格式字符串不正确

尝试使用yyyyMMdd

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

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

日期时格格式MM为数月,mm为分钟

Custom Date and Time Format Strings

您可以将当前时间转换为UTC,然后使用该方法使用ConvertTimeFromUtc方法查找加拿大的日期时间,但您需要知道TimeZoneIdthis will help you

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