欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中系统时间和UNIX时间戳互相转换

程序员文章站 2022-06-05 14:14:25
在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如asp.net调用php,牵扯到时间就要做一下处理,php程序中一般存取的都是unix时间,...

在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如asp.net调用php,牵扯到时间就要做一下处理,php程序中一般存取的都是unix时间,不像asp.net存储的是年月日时分秒,这样就需要做一下转换,代码如下:

一、将系统时间转换成unix时间戳

复制代码 代码如下:
datetime dtstart = timezone.currenttimezone.tolocaltime(new datetime(1970,1,1));
datetime dtnow = datetime.parse(datetime.now.tostring());
timespan tonow = dtnow.subtract(dtstart);
string timestamp = tonow.ticks.tostring();
timestamp = timestamp.substring(0,timestamp.length - 7);

二、将unix时间戳转换成系统时间

复制代码 代码如下:
string timestamp = "1288368000";
datetime dtstart = timezone.currenttimezone.tolocaltime(new datetime(1970,1,1));
long ltime = long.parse(timestamp + "0000000");
timespan tonow = new timespan(ltime);
datetime dtresult = dtstart.add(tonow);

这两个方法比较简单,大家可以把他们封装成静态函数,直接调用。