如何在Javascript中获取所有区域的本地系统时间?

时间:2017-08-03 07:41:39

标签: javascript angularjs

我尝试使用新的Date()函数将本地系统时间传递给服务器。但是当我通过它时,它被转换为UTC时间。问题是我无法获得正确的我正在通过时间。它将系统时间减少5.30小时。如果我将时间改为其他区域,时间将减少到2.30小时等等。我已经搜索了许多解决方案,但没有一个工作。我希望有以下格式的时间: 2017-08-03T07:28:09.514Z

任何建议都会有所帮助。谢谢

2 个答案:

答案 0 :(得分:2)

使用Moment.js确实是一个很好的建议。代码应如下所示:

var date = new Date()
date = moment(date).add(3, 'hours').add(30, 'minutes')

date.toDate()

我有点担心对象的正确格式,但它应该可以工作

答案 1 :(得分:1)

2017-08-03T07:28:09.514Z是UTC中的时间,如ISO 8601中所定义,因为字符串末尾有Z。因此,如果您当地的时间是印度标准时间,那么它正好是UTC + 05:30,并且您将在UTC中减少5个半小时。在UTC中向服务器发送时间实际上是个好主意,因为任何体面的服务器应用程序(语言)都应该能够处理它并在任何时区转换为时间。

发送时间的另一个好方法是Unix time,以秒为单位测量,也是UTC。 new Date().getTime()以毫秒为单位返回值,因此将其除以1000,您将得到一个Number,它易于传输,存储和使用(转换为日期时间对象)。