nodejs(new Date())。toJSON()返回错误的时间

时间:2018-01-03 11:13:38

标签: javascript node.js

我使用以下代码在nodejs中获取当前日期和时间。

var date = (new Date()).toJSON();

转换为JSON后,它会返回错误的时区,错误的时区如下:

2018-01-03T11:16:38.773Z

但没有 toJSON(),它会以正确的时区返回实时

Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time)

2 个答案:

答案 0 :(得分:0)

格式不同,因为:

  

toJSON方法是Date JavaScript对象的内置成员。   它返回UTC时区的ISO格式的日期字符串(表示为   用后缀Z)。

你能做什么:

  

您可以覆盖Date类型的toJSON方法,或定义一个   toJSON方法,用于其他对象类型实现数据转换   对于JSON序列化之前的特定对象类型。

source

如果你想要相同的结果,你可以使用toString而不是toJSON:

var date = new Date().toString();

答案 1 :(得分:0)

 import pandas as pd
 import time

 def readCsv():
   i = 0
   data = pd.read_csv("/home/oztron/Documents/energylogger2.csv")
   t = data.iloc[i:,0]
   e = data.iloc[i:,1]
   p = data.iloc[i:,2]
   v = data.iloc[i:,3]
   c = data.iloc[i:,4]
   i = i + 1
   return t, e, p, v, c

 while True:
   a, b, c, d ,e = readCsv()
   print(a)
   time.sleep(10)

左侧的那个是ISO时区,右侧的一个基本上是浏览器时区。

2018-01-03T11:17:12.000Z === Wed Jan 03 2018 14:47:12 GMT+0330 (Iran Standard Time) 转换为ISO时区

所以转换为字符串的简单方法是

(new Date()).toJSON()