这是我的头脑,而且我不知道它为什么会发生 - 会喜欢一些见解。
这适用于将当前日期和时间转换为ISO8601格式:
var today = new Date().toISOString();
console.log(today);
但是,如果在转换之前更改创建的日期,则该方法将失败。是因为必须在创建日期时使用此方法吗?
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
tomorrow.toISOString();
console.log(tomorrow);
输出将是明天日期的非转换日期字符串(在创建日期后,+1只会将日期增加1)。
为了上帝的爱,为什么!?
答案 0 :(得分:2)
toISOString()
返回String
,但不会更改原始对象。
而不是......
...
tomorrow.toISOString();
console.log(tomorrow);
只做
console.log(tomorrow.toISOString());
答案 1 :(得分:1)
你只是记错了。您应该记录tomorrow.ToISOString()
而不是tomorrow
:
var tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
console.log(tomorrow.toISOString());
输出:
2015-11-06T11:29:31.136Z