用过JAVA的想必都知道一个函数
System.currentTimeMillis()
用于获取从1970-1-1到目前为止的毫秒数。
当时刚接触的时候,我就很纳闷,这是为什么?为什么偏偏要设计一个1970-1-1作为起始时间点,计算经过时间的函数?
经过一番了解,知道了Unix time
同时HERE解释了为什么1970-1-1可以作为一个epoch time,即起始时间
好了
废话说了很多,切入主题吧!
代码如下:
public DateTime FromUnixTime(long unixTime)
{
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return epoch.AddMilliseconds(unixTime);
}
public long ToUnixTime(DateTime date)
{
var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
return Convert.ToInt64((date.ToUniversalTime() - epoch).TotalMilliseconds);
}
具体两个函数分别是什么,怎么用?大家肯定心知肚明了。