我希望将以下时间戳作为输出:
Wed Jan 03 2018 22:35:29 GMT+0530 (IST)
当我尝试在浏览器中使用以下代码时,
var d = new Date();
我得到了理想的结果。但每当我在我的Webstorm中运行代码片段并控制结果时,我得到的结果为
2018-01-03T17:11:53.093Z
为什么这种格式不同?为什么浏览器中生成的结果不能在我的IDE控制台中重现?如何以
的确切格式生成结果 Wed Jan 03 2018 22:35:29 GMT+0530 (IST)
答案 0 :(得分:0)
我认为这是JavaScript引擎在IDE内部构建的内容。无论如何,console.log
日期对象的原始数据一般不直接使用,这就是为什么不同引擎可能输出它的原因存在差异。
IDE的JavaScript引擎肯定会输出日期对象,类似于在浏览器中使用DateObject.toISOString()
输出日期对象时产生类似2018-01-03T17:55:37.048Z
要解决此问题,您可以告诉它输出不同的内容,例如
var d = new Date();
console.log( d.toString() );
我在Node上尝试过,似乎工作得很好,IDE可能正在使用Node,因此它也可以正常工作。
或使用momentjs或类似的库来规范化输出时间对象的方式
当您以
格式获取输出时Wed Jan 03 2018 22:35:29 GMT+0530 (IST)
我得到它
Wed Jan 03 2018 23:01:41 GMT+0530 (India Standard Time)
没有太大的不同,您仍然可以看到IST显示方式的差异。在输出原始时间对象时,浏览器也可能会考虑操作系统的设置。