OffSet/Utc/FromUnixTimeSeconds

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

DateTime dtt = System.DateTime.Now ;//utcnow是格林威治的时间,与北京时间-8 strin(dtt); 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 以来所经过的秒数。 时间戳

 

using System;
public class Program
{
    public static void Main()
    {
        //UTC+08:00) 北京,重庆,香港特别行政区,乌鲁木齐           
        var CHTimeZone = TimeZoneInfo.FindSystemTimeZoneById("China Standard Time");
        Console.WriteLine("当地的CHTimeZone:" + CHTimeZone); //(UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
        Console.WriteLine("当地的DateTime.Now:" + DateTime.Now); //4/11/2021 6:19:42 AM
        //TimeZoneInfo.Local:得到一个System.TimeZoneInfo表示本地时区的
        Console.WriteLine("当地的TimeZoneInfo.Local:" + TimeZoneInfo.Local);//(UTC) Coordinated Universal Time
        //ConvertTime:将时间从一个时区转换到另一个时区.
        //1:要转换的日期和时间。2:日期时间的时区。3:要将日期时间转换为的时区。
        //返回2020/12/10 15:32:49
        DateTime Chtime = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, CHTimeZone);
        Console.WriteLine("当地的时间:" + Chtime); //4/11/2021 2:19:42 PM
        var s = TimeSpan.FromHours(8);
        Console.WriteLine("TimeSpan:" + s); //TimeSpan:08:00:00
        //返回一个2020/12/10 15:32:49 +08:00
        DateTimeOffset ds = new DateTimeOffset(Chtime, TimeSpan.FromHours(8));
        Console.WriteLine("ds:" + ds); //4/11/2021 2:19:42 PM +08:00
    }
}

 

DateTimeOffset.FromUnixTimeSeconds(Int64)(这里的Int64就是一个整数值,代表秒数)方法用于
表示从1970-01-01T00:00:00Z开始经过的秒数的Unix时间转换为DateTimeOffset值。
此方法返回的日期和时间值表示与Unix时间相同的时刻。

var timestamp = DateTimeOffset.Now.DateTime.ToString("yyyy-MM-dd HH:mm:ss.fff"); //就是当前时间
Console.WriteLine("当前时间UTC当地的时间:" + timestamp);


var time0 = DateTimeOffset.Now.AddHours(8).DateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
Console.WriteLine("所在当前时区的时间:" + time0);


var time = DateTimeOffset.FromUnixTimeSeconds(Convert.ToInt32("1618017275")).DateTime.AddHours(8).ToString("yyyy-MM-dd HH:mm:ss.fff");
Console.WriteLine("你给过来一个时间戳,转成你当前时区的时间戳的时间:" + time);


var time2 = DateTimeOffset.FromUnixTimeSeconds(2).DateTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
Console.WriteLine("你给过来的时间戳在Utc当地的时间:" + time2);


Console.WriteLine("当地的时间:" + System.DateTime.Now);
Console.WriteLine("当地的时间(后缀多了:+00:00):" + DateTimeOffset.Now);


DateTimeOffset d= System.DateTime.Now;
Console.WriteLine("你给过来的时间戳在Utc当地的时间:" + d);

 

            var timeout = TimeSpan.FromSeconds(180);  //{00:03:00}
            var times = DateTimeOffset.UtcNow;//{2021/5/25 7:13:59 +00:00}
            var ass0 = (DateTimeOffset.UtcNow + timeout);//{2021/5/25 7:17:19 +00:00}
            var ass = (DateTimeOffset.UtcNow + timeout).ToUnixTimeSeconds();//1621927073
            var expiry = (DateTimeOffset.UtcNow + timeout).ToUnixTimeSeconds().ToString();

            var q0 = DateTimeOffset.Now;//{2021/5/25 15:15:17 +08:00}
            var q = DateTimeOffset.Now.Offset;//{08:00:00}
            var q1 = DateTimeOffset.Now.Ticks;//637575525318924937
            var q2 = DateTimeOffset.UtcNow;//{2021/5/25 7:15:56 +00:00}
            var q3 = DateTimeOffset.MaxValue;
            var q4 = DateTimeOffset.MinValue;

 

posted @ 2019-07-19 13:53  ProZkb  阅读(803)  评论(0编辑  收藏  举报