这里有一个示例代码,但是接下来它开始谈论毫秒/纳秒的问题。
相同的问题出现在MSDN上,C#中自Unix时代以来的秒数。
到目前为止,我得到了以下内容:
public Double CreatedEpoch
{
get
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
TimeSpan span = (this.Created.ToLocalTime() - epoch);
return span.TotalSeconds;
}
set
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
this.Created = epoch.AddSeconds(value);
}
}
DateTimeOffset.FromUnixTimeSeconds
和DateTimeOffset.ToUnixTimeSeconds
方法。还有毫秒级 Unix 时间的方法。 - Jeppe Stig NielsenDateTime.UnixEpoch
。除非你需要使用DateTimeOffset
而不是DateTime
,否则我认为DateTime.UnixEpoch.AddMilliseconds(...)
比DateTimeOffset.FromUnixTimeMilliseconds(...).UtcDateTime
更易读。 - M-Pixel