我的小提琴在12月份回归0
var exploded = "2011-12-25".split('-');
var d = new Date(exploded[0], exploded[1], exploded[2]);
document.write("year"+d.getUTCFullYear()+ " month"+d.getUTCMonth()+" day"+d.getUTCDate());
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
Tad*_*eck 10
不,这是另一种方式:您将日期定义为1月份.
请参阅以下文档Date():
month - 表示月份的整数值,从 1月的0开始到12月的11.
你提供了12,所以它被视为0(1月).
如果您需要证明,请参阅脚本的修改版本,显示整个日期和时间.
你注意到它打印2012了一年吗?问题是它使用的是0月,所以它认为今年的第12个月实际上是明年的第0个月.换句话说,0是1月,11是12月,所以12是明年1月.
你需要从人类可读的月份中减去1:
var d = new Date(exploded[0], exploded[1] - 1, exploded[2]);
Run Code Online (Sandbox Code Playgroud)
如果我将程序更改为:
var exploded = "2011-12-25".split('-');
var d = new Date(exploded[0], exploded[1] - 1, exploded[2]);
document.write(d.toString());
Run Code Online (Sandbox Code Playgroud)
它打印: Sun Dec 25 00:00:00 EST 2011
| 归档时间: |
|
| 查看次数: |
4097 次 |
| 最近记录: |