.NET Framework 技术分享,C# DateTime 之间加减与 10 位 Unix 时间戳转换

c# DateTime 不能加只能减,c# unix 时间戳

发布用户:小梦

2023/02/17 15:08


在 .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



代码写多了,脑力不够用了,请我喝杯咖啡提提神 ☕

警告!禁止网络诈骗、非法集资、非法套现等法律外的缘由转账汇款,你的赞赏转账请考虑再三后支付,此收款不作任何形式的退款。





金额:

* 支付宝支付后如果没有自动返回请手动返回此页并刷新。



* 在线内容服务不支持任何形式的退款/退费操作;支付后的订单记录可以在“用户主页 - 用户订单中心”查看。

此网站可能不完全兼容您目前的浏览器!
此页随时可能被替换下线,请不要依赖此页功能!
此页正在维护更新,可能会出现错误或卡顿。
通知 & 公告

暂时还没有消息