【发布时间】:2015-07-03 22:22:23
【问题描述】:
什么是将 Epoch 时间转换为日期的好方法,但使用特定时区
我需要检查两个日期。我在数据库中有一个日期,另一个在 x 网站中。
我知道这两个日期与 yyyy-MM-dd 的关系完全相同
例如:
数据库日期为: 1398891600 = 2014-05-01
X 网站日期为: 1398902400000 = 2014-05-01
C# 代码“转换器”
private string DateChecker_inEPOCH(string epochdate)
{
if (epochdate.Length < 13)
{
epochdate = epochdate + "000";
}
DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0).AddMilliseconds(Convert.ToDouble(epochdate));
string dateFormated = dt.ToString("yyyy-MM-dd");
return dateFormated;
}
问题是当我使用我的方法进行转换时,一个数据库日期是 2014-04-30,网站日期是 2014-05-01。
我使用http://www.epochconverter.com/ 测试了日期
【问题讨论】:
-
nitpick: 请不要称其为“纪元时间”。这是对字典词epoch 的误用。请参阅dictionary.com 2、3 或 5a。在这种情况下, epoch 是 1970-01-00 00:00:00 UTC 的“unix epoch”——而不是您正在评估的值。另见Notable epoch dates in computing。