与‘JavaScript’有关的日志

JavaScript 日期计算问题

Poon 发表于 学习备忘录 分类,标签:
0

要计算指定日期至今已经经过的天数,以2015.01.22为例,从网上找来了下面这段代码:

<script language="javascript">
var now=new Date();
var spday=new Date(2015,01-1,22);
a=(now.getTime()-spday.getTime())/(24*60*60*1000);
a=Math.ceil(a);
document.write(a);
</script>

那么问题来了,第三行括号里面的中间那段“-1”是什么意思呢? (去掉“-1”或改成别的数字,都会出错)

 

在w3school找了一圈相关函数的解释都没能找到答案,于是直接在 http://www.w3school.com.cn/tiy/t.asp 进行测试:

<script type="text/javascript">
var spday=new Date(2014,02-1,10);
document.write(spday);
</script>

然后修改“-1”这个数值,改来改去结果不断变化,并且没有发现任何规律!

 

百度谷歌都没找到答案,后来问朋友,总算得到答案了:

(date.getMonth()+1)  //取月的时候取的是当前月-1如果想取当前月+1就可以了

 

参考w3school的Date对象方法:http://www.w3school.com.cn/jsref/jsref_obj_date.asp

getMonth()   //从Date对象返回月份 (0 ~ 11)

而我这里要做的是将月份返回给Date,所以过程是相反的,所以自然要减去1……