JavaScript日期实例混淆
假设我创建了一个JavaScript日期实例混淆,javascript,date,datetime,Javascript,Date,Datetime,假设我创建了一个新日期(),将其记录到控制台,然后查看: Date.toString() = Sun Sep 27 2015 00:00:00 GMT+0100 (GMT Daylight Time) 这告诉我日期是2015年9月27日,我的时区比UTC早一小时 现在让我们假设我通过调用toISOString()来序列化这个Date。toISOString()的结果是: 2015-09-26T23:00:00.000Z 现在让我们假设我将这个toISOString()值发送到服务器 我断言仅
新日期()
,将其记录到控制台,然后查看:
Date.toString() = Sun Sep 27 2015 00:00:00 GMT+0100 (GMT Daylight Time)
这告诉我日期是2015年9月27日,我的时区比UTC早一小时
现在让我们假设我通过调用toISOString()
来序列化这个Date
。toISOString()
的结果是:
2015-09-26T23:00:00.000Z
现在让我们假设我将这个toISOString()
值发送到服务器
我断言仅接收2015-09-26T23:00:00.000Z
的服务器无法知道客户端浏览器上的原始日期是27日,而不是26日,这是否正确
(换句话说,时区偏移量也需要发送到服务器,才能知道日期是27日)。是的,这是正确的,但是可以根据ip地址猜测时区。是的,这是正确的,但是可以根据ip地址猜测时区。到ISO字符串。它不再是一个对象,而是一个字符串。当该字符串被发送出去时,上下文的其余部分将丢失-接收端只看到该字符串,而不接收该字符串是如何生成的,或者该字符串来自何处。它不再是一个对象,而是一个字符串。当该字符串被发送出去时,上下文的其余部分就丢失了——接收端只看到该字符串,而不接收该字符串是如何生成的,或者该字符串来自何处。