OffSet和Utc

 Utc就是格林威治的时间。Offset就是本地时间和格林威治时间的时区差之类的了。

1
DateTime dtt = System.DateTime.Now ;//utcnow是格林威治的时间,与北京时间-8 2 strin(dtt); 3 4 public static string strin(System.DateTimeOffset mydate)//时间转成DateTimeOffset,时间后面会出现+08:00的样式,会给出传过来的时间比格林威治多几个时区 5 { 6 7 DateTime d1 = mydate.Date; 8 int hour = mydate.Hour; 9 DateTime LocalDateTime = mydate.LocalDateTime;//会转成本地时间 10 TimeSpan offset = mydate.Offset;//显示+8:00:00就是比格林威治时间按多8个时区 11 int Second = mydate.Second; 12 long longs = mydate.Ticks; 13 14 long ToFileTime = mydate.ToFileTime(); 15 DateTime UtcDateTime = mydate.UtcDateTime;//utc的时间 16 DateTimeOffset ToUniversalTime = mydate.ToUniversalTime();//通用时间 utc加+00:00 17 DateTimeOffset ToLocalTime = mydate.ToLocalTime();//会转成本地时间,带有+00:00的样式 18 DateTimeOffset ToOffset = mydate.ToOffset(offset);//当前时间 +8:00:00的样式 19 20 return ""; 21 }

Utc就是格林威治的时间了。Offset就是本地时间和格林威治时间的时区差之类的了。

DateTime timestamp = DateTimeOffset.Now.DateTime;//就是当前时间

            //DateTime.UtcNow返回以UTC表示的当前时间
            DateTimeOffset date = DateTimeOffset.Now;//当前时间 {2020/5/11 15:30:35 +08:00}
            DateTime date2 = DateTime.Now;//{2020/5/11 15:30:35}
            DateTime date3 = DateTime.UtcNow;//{2020/5/11 15:30:35}
            DateTime timestamp = DateTimeOffset.Now.DateTime; //{2020/5/11 15:32:09}


            DateTimeOffset dto = new DateTimeOffset(1970, 1, 1, 1, 0, 0, TimeSpan.Zero);
            long rett = dto.ToUnixTimeSeconds();//返回3600s  就是从1970年0时0秒,到 这个时间(1970, 1, 1, 1, 0, 0),间隔3600秒
           // ToUnixTimeSeconds  传回自1970-01-01T00:00:00Z 以来所经过的秒数。 时间戳
原文地址:https://www.cnblogs.com/ZkbFighting/p/11212873.html