How do I get epoch time in C#?
Possible Duplicate:
How do you convert epoch time in C#?
我想弄清楚如何在C#中获得纪元时间。 与本网站上的时间戳类似:http://www.epochconverter.com/
DateTime有一个方法吗?
-
参见问题与解答; 在这里回答stackoverflow.com/a/56363742/3057246
1 2 3
| TimeSpan t = DateTime .UtcNow - new DateTime (1970, 1, 1);
int secondsSinceEpoch = (int)t .TotalSeconds;
Console .WriteLine(secondsSinceEpoch ); |
-
当然,如果你相信这个时代是1970-01-01T00:00:00,就像任何Unix系统一样。但.NET时代是0001-01-01T00:00:00,更好地称为DateTime.MinValue。
-
当然,但很多应用程序仍然使用1970年代,例如OAuth。
-
@froggythefrog和SWT令牌msdn.microsoft.com/en-us/library/windowsazure/hh781551.aspx
-
它不应该是几毫秒?它最终缺少一些零
-
@Sinaesthetic Epoch Time定义为自1970年1月1日星期四00:00:00协调世界时(UTC)以来经过的秒数 - en.wikipedia.org/wiki/Unix_time
-
@Sinaesthetic你必须习惯Java实现,其中System.currentTimeMillis()是自纪元以来的millis数。如果您决定使用millis,请改用long millisecondsSinceEpoch = (long) t.TotalMilliseconds;。
-
从.Net 4.6及以上版本开始使用DateTimeOffset.Now.ToUnixTimeSeconds()
-
在第一个字符串中,Epoch时间由构造函数创建,它返回具有未指定类型的DateTime对象,因此请使用new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)来避免从Utc中减去未指定的日期时间。
-
@OlegSavelyev我测试了你的理论,但没有什么区别。我的C#应用??程序托管的本地时间偏离UTC 6小时,我得到相同的值。
-
@SaikatChakraborty你能发表评论作为答案吗?