我无法理解为什么Javascript中的日期出错了。例如......
$scope.campaign.date_start = new Date(19/11/2014);
Wed Nov 19 2014 00:00:00 GMT+0000 (GMT) - correct
$scope.campaign.date_start.getDay() = 19 - correct
到目前为止一直很好,但是获得月份和年份会给我不正确的价值......
$scope.campaign.date_start.getMonth() = 10 - incorrect should be 11
$scope.campaign.date_start.getYear() = 114 incorrect should be 2014
我在这里错了什么?
答案 0 :(得分:4)
getMonth
基于0,因此您需要+1来获取当月的数量。
getYear
已被弃用,并且可能在将来某个时候中断,它(通常)会返回自1900年以来的年数。使用的正确方法是getFullYear
答案 1 :(得分:3)
JavaScript getMonth()
将始终返回实际month-1
。对于这一年,您需要使用getFullYear()
来获得4位数年份
答案 2 :(得分:1)
Date.getMonth()
为0-base(1月为0月)。
Date.getYear()
已被弃用,自1900年以来已有数年(因此为114年)。
答案 3 :(得分:1)
getMonth()
从零开始。所以你需要getMonth()+1
getYear()
不符合Y2K,因此创建了一个新函数getFullYear()
以返回4位数年份。