首页 > 代码库 > Javascript日期函数使用需要注意地方
Javascript日期函数使用需要注意地方
当我们需要获取未来某个时间的毫秒数时,可能第一时间想到的方法是
(new Date("2014-12-08 12:00:00")).getTime()
这个在方法在chrome下是会返回一个数字的。
但是在IE下返回的是一个NaN,是因为IE下认为 YYYY-mm-dd HH:ii:ss不是一个合理的日期格式
不过它倒是可以接受 YYYY-mm-dd这种格式
为了通用兼容,我们可以针对 YYYY-mm-dd HH:ii:ss 这种格式可以将每个单位的值分解,使用setXXXX方法来获得一个你想要的时间
var d = new Date()d.setFullYear(2014)d.setDate(8)d.setMonth(11)d.setHours(12)d.setMinutes(00)d.setSeconds(00)
d.getTime() //返回2014-12-08 12:00:00 的毫秒数
这里一定要注意,setDate一定需要在setMonth前调用。
因为其实setMonth允许传入两个参数,第一个参数是月份,第二个是日期
第二个日期参数未传值,会默认设置为当天的日期
如果在new Date()的时候是31日,而你的目标月份是没有这一天的时候,d会自动将自己的月份设置为下一个有31日的月份
比如,你在8月31日调用,目标是9月份的某一天,
//===============在8月31日调用 错误的顺序d.setMonth(8)d.setDate(1)//d的month会被自动设置为09就是实际日期中的10月//因为实际的9月没有31日//设置完月份再设置日期//这样你得到d其实就是10月1日//===============在8月31日调用 正确的顺序d.setDate(1)d.setMonth(8)
先设置setDate,再设置setMonth。这样能够保证不会错误。
Javascript日期函数使用需要注意地方
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。