定义和用法
setFullYear()
方法用于设置年份。
语法
dateObject.setFullYear(year,month,day)
参数 | 描述 |
---|---|
year | 必需。表示年份的四位整数。用本地时间表示。 |
month | 可选。表示月份的数值,介于 0 ~ 11 之间。用本地时间表示。 |
day | 可选。表示月中某一天的数值,介于 1 ~ 31 之间。用本地时间表示。 |
返回值
返回调整过的日期的毫秒表示。
提示和注释:
**注释:**该方法总是结合一个 Date 对象来使用。
实例
例子 1
在本例中,我们将通过 setFullYear() 把年份设置为1992:
<script type="text/javascript">
var d = new Date()
d.setFullYear(1992)
document.write(d)
</script>
输出:
Wed May 06 1992 09:39:04 GMT+0800 (中国标准时间)
例子 2
在本例中,我们将通过 setFullYear() 把日期设置为 November 3, 1992:
<script type="text/javascript">
var d = new Date()
d.setFullYear(1992,10,3)
document.write(d)
</script>
输出:
Tue Nov 03 1992 09:39:04 GMT+0800 (中国标准时间)
以下为小技巧:
setFullYear() 方法用于设置年份
- 事情发生的很奇妙,最近看到一个朋友用H5模板做了一个网站,展现的内容是关于爱情主题,浪漫表白。
- 看到之后,哇塞……这个好玩,我自己也要做一个,然而……当进行网站源码拷贝修改参数的时候……我发现了一个很严重的问题:那就是在我修改时间参数为3月31日,实际生产的相识时间,竟然出现了负数!
- 面对这样的问题,瞬间有点蒙蔽,深深的觉得不科学,那么,问题出在哪里呢?
- 仔细排查源代码,发现时间算法并没有错,整个代码流程阅读下来非常流畅,唯一小缺陷可能就是不是用的new Date()方法初始化当前时间,但是问题也不算太大,毕竟程序还是可以走通的。那么,究竟是哪里出问题导致了设置的3月31不对,甚至是负数的情况,这简直有点茫然。
- 带着疑问,我看了下我朋友的那个网站,发现实际显示的时间与他设置的时间有着一个月的时间差距,这……算是BUG吗?
- 怀着懵逼的情绪,我对setFullYear()方法产生了疑惑……当然,看到这里,如果JS知识非常扎实的朋友可能早就知道问题在哪里了……
- 是的,setFullYear()方法设置时间的参数中,第二个对月份设置的参数,从0—11开始计算,与数组的表达方式一致,也就是说一月份设置,用0来表达,而我设置3,直接就是四月三十一了,所以展示出来的天数,自然是负数,与此同时,表达天数的参数设置,还是正常的1-31来表达,只有月份那边有差别。
- 至于为什么要这么不按常理出牌……我也不知道……
- 记录一下这次遇到的错误,谨记!
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付