0
我在客户端从.NET上放置了UTC .NET/JSON日期。当我运行以下命令:转换时刻UTC到当地日期时间
moment(value.Planet.when).utc()
返回从Web服务日期:
"/Date(1469271646000)/"
我得到的_D参数显示当前准确的UTC日期与GMT + 0300上右侧的日期。
我想将此时间转换为用户机器上的本地时间,以及我所做的事情,我总是将时间缩短3个小时。
我这样做:
moment(value.Planet.when).local().format('YYYY-MM-DD HH:mm:ss')
,我也得到了相同的日期时间作为UTC。我不明白我怎么能得到相对于当地时间的UTC时间。我检查了那个momentjs对象的确是UTC。
我认为,如果我通过moment.utc()函数从web服务(最初来自数据库)获取UTC日期,我可以运行local()函数,我会得到准确的时间相对于我的区域,但它不起作用。
我只是把一个新的记录,我得到太阳七月24 2016 02:24:15 GMT + 0300如果我使用你的代码,但我当地的时间是5:24而不是2:24。该web服务返回“/日期(1469316255000)/” - 所以我做错了。 –
时间戳“1469316255000”对应于“2016-07-23T23:24:15.000Z”。您可以在纯JS或许多网站上查看,如[epochconverter.com](http://www.epochconverter.com)。您的输出会在三个小时后显示,因为您的本地时区偏移值为“+03:00”。如果你预计它甚至比这还多三个小时,那么我会说你的web服务发送了错误的数据。也许你是双重纠正。 –
例如,假设您的后端是.NET,如果您在数据库中有基于UTC的值,但在检索它们时不使用DateTimeKind.Utc(使用DateTime.SpecifyKind),那么它们将具有' DateTimeKind.Unspecified'默认情况下。 ASP.Net将在序列化期间将这些视为*本地时间*,并将减去服务器的本地时区偏移量。 –