Javascript-为什么ISO8601格式的时间在console.log上以两种不同的格式显示



我有ISO8601格式的日期,例如"2021-01-01T00:00:00.000Z"。我尝试console.log它作为字符串的一部分和变量-我得到两个不同的结果:

2021-01-01T00:00:00.000Z-当我将其显示为变量时

2021年1月1日星期五01:00:00 GMT+0100(中欧标准时间(-当我将其作为字符串的一部分显示时

如何以ISO8601格式"2021-01-01T00:00:00.000Z"作为字符串的一部分显示日期?

let date = new Date(2021, 0, (1 + (1 - 1) * 7), 1);
console.log('Show as variable: ', date);
console.log(`Show as part of string: ${date}`);

edited:设置正确的日期格式。

我的猜测是,它取决于每个运行时的console.log实现。模板文本(第二个示例(将在将整个内容传递给console.log之前对模板进行插值,因此在日志记录时它将已经是一个字符串(并且它将使用与date.toString()相同的值(,而第一个变体传递一个字符串文本,然后传递一个对象,它也不一定是字符串(由控制台决定如何显示它;想想通常如何为数组、对象等提供更方便的显示选项(。

Chrome似乎并不在意,显示的两种变体都是一样的,而Firefox显示的第一种变体是Date实例。Node的CLI有点像Firefox,并以不同的方式显示它们,但没有显示类型为Date

相关内容

  • 没有找到相关文章

最新更新