Asp.net mvc 从DateTime.UTCNow显示本地时间

Asp.net mvc 从DateTime.UTCNow显示本地时间,asp.net-mvc,datetime,utc,momentjs,Asp.net Mvc,Datetime,Utc,Momentjs,我有一个JSON方法,它返回存储在服务器上的UTC日期时间。它返回以下内容: /Date(1394155885817)/ 我想知道如何让MomentJS显示本地(浏览器)时间。所以我的时区是-5(美国东部时间),我想看3:31而不是8:31。看下面的小提琴 我做错了什么?我怎样才能强迫这一时刻回到当地呢?我刚刚在罗马尼亚拉小提琴,得了3分31秒。此外,javascript的日期构造函数可以正确处理UTC毫秒。你得到的是8点31分,这让我觉得它在做它应该做的事情,显示当地时间。为什么8:31不

我有一个JSON方法,它返回存储在服务器上的UTC日期时间。它返回以下内容:

/Date(1394155885817)/
我想知道如何让MomentJS显示本地(浏览器)时间。所以我的时区是-5(美国东部时间),我想看3:31而不是8:31。看下面的小提琴


我做错了什么?我怎样才能强迫这一时刻回到当地呢?

我刚刚在罗马尼亚拉小提琴,得了3分31秒。此外,javascript的日期构造函数可以正确处理UTC毫秒。你得到的是8点31分,这让我觉得它在做它应该做的事情,显示当地时间。为什么8:31不正确?您的设备时区设置是否正确?(顺便说一句,如果你的时区是格林尼治标准时间-5,那么你确实会在前一天晚上8点31分到达)


为了更好地理解这一点,我把数字放在a中,我看到1394155885817实际上意味着UTC时间2014年3月7日星期五凌晨1:31:25(或GMT),从中减去5小时将导致2014年3月6日星期五下午8:31:25

您可以在服务器端
ToLocalTime
。需要客户端来处理。服务器怎么知道客户端时区呢?我不知道,但我认为Javascript也不知道。你不能把一个合适的dateTime对象从服务器传给Javascript,让JS知道它提供了哪个时区吗?嗨,谢谢你的想法。这是我的设想。我将我的网站托管在Azure上,并用C#保存DateTime.UTCNow记录-对于这个特殊情况,当我创建该记录时,它是在美国东部时间下午3:31。然而,当JSON被序列化并返回时,它是/Date(1394155885817)/stamp,比我想要的时间提前了5个小时。这是有道理的,因为我的EST是-5。我仍然在想这个错误吗?1394155885817是UTC凌晨1:31,所以实际上比东部时间下午3:31提前了10个小时。也许你的连载有问题?(你能公布你用来序列化的确切代码吗?)为了完整起见,我认为你应该这样做(DateTime.UtcNow-newdatetime(1970,1,1))。TotalMillistencessee从