var zone = TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now).Hours;
获取当时时间的时间戳
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long timeStamp = (long)(DateTime.Now - startTime).TotalSeconds;
// 获取中国时区
var chinaZone = TimeZoneInfo.FindSystemTimeZoneById("China Standard Time");
// 机器本地时间 -> 中国时间
var chinaTime = TimeZoneInfo.ConvertTime(localTime, TimeZoneInfo.Local, chinaZone);
System.TimeZone.CurrentTimeZone.GetUtcOffset(System.DateTime.Now).Hours
第二种方案:根据当前的时间和格林尼治时间的差进行获取
System.DateTime utcTime = System.DateTime....
"yyyy-MM-ddTHH:mm:ssz" => 2018-02-03T23:33:33+8
"yyyy-MM-ddTHH:mm:sszz" => 2018-02-03T23:33:33+08
"yyyy-MM-ddTHH:mm:sszzz" => 201...
var systemZones = TimeZoneInfo.GetSystemTimeZones();
如果需要在A语言下获取B语言的时区列表,尝试过设置当前进程,线程的Culture是没办法实现的
var cultureInfo = new CultureInfo("en_US");
CultureInfo.CurrentC...
--DateTime 数字型
System.DateTime currentTime=new System.DateTime();
取当前年月日时分秒 currentTime=System.DateTime.Now;
取当前年 int 年=currentTime.Year;
取当前月 int 月=currentTime.Month;
我们会需要把 local 时间转换成某一时区的时间, 这里用.Net 的内置方法来实现:
///UTC 时间
DateTime dt = TimeZoneInfo.ConvertTimeToUtc(DateTime.Now, TimeZoneInfo.Local);
Console.WriteLine(dt.ToString