我想知道两个国家之间的时差.有静态时间差,但在某些时期,夏令时介于两者之间.据我所知,某些国家的dst期间也不同,所以6月1日国家a和b之间的差异可以是1小时,7月1日可以是2小时,因为DST,1月8日可以再次1等等等
是否有框架功能或我必须自己计算?
米歇尔
你得知道:
TimeZoneInfo.NET 3.5,记住一个国家可以有多个时区)DateTime或DateTimeOffset.此时它相对容易:将UTC时刻转换为两个时区中的本地时间TimeZoneInfo.ConvertTime,并从另一个中减去一个.或者,使用TimeZoneInfo.GetUtcOffset它们,并从另一个中减去一个偏移量.
这是一个查找伦敦和山景之间当前差异的示例:
using System;
class Test
{
static void Main()
{
var mountainView = TimeZoneInfo.FindSystemTimeZoneById
("Pacific Standard Time");
var london = TimeZoneInfo.FindSystemTimeZoneById
("GMT Standard Time");
DateTimeOffset now = DateTimeOffset.UtcNow;
TimeSpan mountainViewOffset = mountainView.GetUtcOffset(now);
TimeSpan londonOffset = london.GetUtcOffset(now);
Console.WriteLine(londonOffset-mountainViewOffset); // 8 hours
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
975 次 |
| 最近记录: |