Nic*_*hac 5 .net datetime timestamp expressionengine
我一定是犯了一个明显的错误,但我无法弄清楚.
我正在导入存储在mysql数据库中的日期(它由ExpressionEngine CMS存储).这是一个unix时间戳,即自1970年1月1日00:00起的秒数.
所以我做的是这样的:
DateTime dateTime = new System.DateTime(1970, 1, 1, 0, 0, 0, 0);
dateTime = dateTime.AddSeconds(orderdate /* int read from the database */);
不幸的是我没有得到正确的结果.这是一个例子:
从DB读取的值:1258598728(这是订单日期)
Paypal于2009年11月18日12:45:20发送电子邮件确认订单
在DB中读取此值并知道如何正确显示此日期的php网站将其显示为2009-11-18 03:45 PM(这似乎正确,因为我托管在东海岸的服务器上)
上面的代码给出了11/19/2009 2:45:28 AM !! (UTC给出了东部时间11/18/2009 9:45 PM,即与预期的6小时差异)
如果使用DateTimeOffset来处理正确的时区,我会得到相同的结果.
知道我做错了什么吗?
试试这个:
DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKind.Utc);
DateTime myDate = epoch.AddSeconds(1258598728).toLocalTime();