时间戳

时间转时间戳

方式1

var timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();

方式2

var timestamp = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;

方式3: 注意下面不同的时区

//当地时区
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
TimeSpan ts = DateTime.Now - startTime; 
var timestamp= Convert.ToInt64(ts.TotalMilliseconds);

//标准时区
TimeSpan ts2 = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
var timestamp2= Convert.ToInt64(ts2.TotalMilliseconds);

时间戳转时间

long timestamp = 1635908470;

//当地时区
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
//获得是当前时区的时间
var time = startTime.AddSeconds(timestamp);


//当地时区
System.DateTime startTime = new System.DateTime(1970, 1, 1);
//获得是UTC的时间
var time = startTime.AddSeconds(timestamp);