根据国家/地区代码获取c#中的当前UTC日期

时间:2017-05-15 07:51:05

标签: c# utc

如何在

中检索当前日期和时间
  

UTC格式基于国家/地区代码?

例如,阿富汗有ISO(国家代码)AF

如何在AF中传递此参数DateTime.UtcNow

2 个答案:

答案 0 :(得分:1)

如上所述,UTC是时区,并非特定于任何国家/地区。事实上,即使在线路交叉的英国,只有一半的年份与UTC相同,其余的是英国夏令时。

但如果您的问题是如何将阿富汗时间转变为UTC,但您目前尚未设置为该时区,那么

// you can get all the timezones your system supports using TimeZoneInfo.GetSystemTimeZones()
var afghanTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Afghanistan Standard Time");
var utcTime = TimeZoneInfo.ConvertTimeToUtc(new DateTime(1970, 1, 1), afghanTimeZone);

时区与国家/地区一对一不匹配,即使在一个国家/地区内也可能存在多个国家/地区,因此仅国家/地区代码不会削减它。

答案 1 :(得分:0)

UTC代表Universal Time Co-ordinated。无论时区或国家如何,它的全部意义在于始终相同。目前,在英国当地时间是上午9:01,因为我打字,但是UTC的时间是8:01。

请参阅https://www.timeanddate.com/time/aboututc.html

最好以UTC格式存储所有时间戳,然后将它们转换为本地时间进行显示。

所以,要回答你的问题,你不能这样做。国家和时区对UTC毫无意义。

希望这有帮助,

亚当。