为了账号安全,请及时绑定邮箱和手机立即绑定

为什么获取的日期不是我输入的日期呢?

<!DOCTYPE HTML>
<html>
	<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    <head>
        <title>test</title>
        <script>
            var d = new Date(2017,01,19);
            document.write(d);
            var d = new Date('Oct 1, 2012');
            document.write(d);
        </script>
    </head>
    <body>
        
    </body>
</html>

Sun Feb 19 2017 00:00:00 GMT+0800 (中国标准时间)

Mon Oct 01 2012 00:00:00 GMT+0800 (中国标准时间)

为什么我输入的是2017.01.19 出来的却是2017.02.19呢??

而且怎么在script里面输入br标签不起作用呢???

感觉写了个假例子。。。

正在回答

3 回答

你干嘛定义两遍?


0 回复 有任何疑惑可以回复我~

Month的值是0到11,而不是我们常规用的1月到12 月。Date(2012,10,1);就是2012年11月1日了。

getMonth 方法返回一个处于 0 到 11 之间的整数,它代表 Date 对象中的月份值。这个整数并不等于按照惯例来表示月份的数字,而是要比按惯例表示的值小 1。如果一个 Date 对象中保存的时间值是 "Jan 5, 1996 08:47:00",那么 getMonth 方法就会返回 0。

只想问可以把最佳答案给我自己吗哈哈哈

2 回复 有任何疑惑可以回复我~
#1

风飘叶摇

可以的,哈哈哈,你的领悟能力很棒呀。 难怪我自己写的getMonth()获取当前2月份的数值却是1,我还以为哪里出错了。原来是getMonth()返回的值是Date对象中的0~11:对应着我们电脑时间的1-12月份,受教了。
2017-02-20 回复 有任何疑惑可以回复我~

哦~想起来了,javascript里写br的话不像在body里面那样可以直接写,

要写在document.write里一起输出才行~~~

0 回复 有任何疑惑可以回复我~
#1

风飘叶摇

是的,你说的没错,如果在JS中想要换行的话,要写在document.write()中一起输出才行。如: document.write(d+"<br>"); // 输出变量d的值并且实现换行。
2017-02-20 回复 有任何疑惑可以回复我~
#2

慕粉1826222000 提问者 回复 风飘叶摇

没经常用就一时想不起来给忘了
2017-02-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么获取的日期不是我输入的日期呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信