由于项目主要做海外市场,发行在不同的国家,因此就有一些根据当地的时间进行处理的需求,而首先第一个我们就需要获得本地所在的时区:
第一种方案:直接根据TimeZone获取
System.TimeZone.CurrentTimeZone.GetUtcOffset(System.DateTime.Now).Hours
第二种方案:根据当前的时间和格林尼治时间的差进行获取
System.DateTime utcTime = System.DateTime.Now.ToUniversalTime();
System.TimeSpan ts = new System.TimeSpan(System.DateTime.Now.Ticks - utcTime.Ticks);
return ts.TotalHours;