在 .NET Framework 4.0 中,DateTime 类型与 DateTime 类型之间不能直接进行加运算,但是可以进行减运算。两者相减后的结果可用 TimeSpan 类型存储,TimeSpan 类中具有直接获取减运算结果的属性,需要注意的是值可以为负数,代码如下:
using System;
TimeSpan ts = Convert.ToDateTime("2019-11-15 14:00:00") - Convert.ToDateTime("2019-11-14 14:00:00");
double days = ts.TotalDays;//天
double hours = ts.TotalHours;//时
double minutes = ts.TotalMinutes;//分
下面是 DateTime 转换成 Unix 时间戳的方法:
using System;
// DateTime 转时间戳
long UnixTimestamp(DateTime dateTime)
{
DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return (dateTime.Ticks - dt1970.Ticks) / 10000000;
}
// 时间戳转 DateTime
DateTime GetDateTimeFrom1970Ticks(long curSeconds)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
return dtStart.AddSeconds(curSeconds);
}
相关环境:.NET Framework 4.0