有这个示例代码,但它开始讨论毫秒/纳秒问题.
自从C#中的Unix纪元以来,同样的问题出现在MSDN上,秒.
这是我到目前为止所得到的:
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);
}
}
Run Code Online (Sandbox Code Playgroud) 如何使用C#.NET将日期时间转换为时间戳(忽略当前时区)?
我使用以下代码:
private long ConvertToTimestamp(DateTime value)
{
long epoch = (value.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
return epoch;
}
Run Code Online (Sandbox Code Playgroud)
但是它根据当前时区返回时间戳值,并且我需要结果而不使用当前时区.