美文网首页
js中Date对象小结

js中Date对象小结

作者: 蜗牛君我们走 | 来源:发表于2019-05-14 20:30 被阅读0次

Date 对象用于处理日期和时间。之前一个项目踩了个坑(收获一个缺陷),这里总结下常用方法与注意事项。

1、创建 Date 对象的语法:

(1)创建当前时间:var myDate=new Date() ;

(2)常用传参初始化:new Date(yyyy,mth,dd,hh,mm,ss);  或 new Date(yyyy,mth,dd); 

    例:new Date(2019,4,13,12,0,0); //输出:Mon May 13 2019 12:00:00 GMT+0800 (中国标准时间)

这里注意月份从0开始,0-11分别代表1月-12月;星期类似,0-6分别代表周日-周6。

天数多了会自动往下月计算,天数为负数则往上个月计算,例如:

    new Date(2019,2,1) //Fri Mar 01 2019 00:00:00 GMT+0800 (中国标准时间)

     new Date(2019,2,0) //Thu Feb 28 2019 00:00:00 GMT+0800 (中国标准时间)  //天为0表示上个月的最后一天

    new Date(2019,2,-1) //Wed Feb 27 2019 00:00:00 GMT+0800 (中国标准时间)  //天为-1表示上个月的倒数第二天

(3)常用方法:

例如格式化输入:date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate()

getTime()可用于计算两个时间的间隔,如var ms = time1.getTime() - time2.getTime() // 或得两个时间与1970.1.1之间的毫秒差再相减得到两个时间之间的毫秒差。 var day = parseInt(ms/(1000 * 60 * 60 * 24)) //获得两个时间相差的天数

(4)兼容性(待验证)

类似 new Date('xxxx/xx/xx xx:xx:xx') 形式的时间对象在 IOS 和 Andriod 系统上都可以被正确的识别,而类似 new Date('xxxx-xx-xx xx:xx:xx') 形式的时间对象在 ios 系统上无法被正确的识别,可先将"-"替换成"/"进行处理。

(5)取上个月时间时踩的坑

取上个月的1号到最后一天:

var myDate = new Date();

myDate.setDate(01);//改句为解决问题的关键,没有这一句时,当今天是3月29或5月31这种时,在下面一句时会有问题

 myDate.setMonth(myDate.getMonth() - 1);//3月29时,改句执行后myDate为3月1日

 myDate.setDate(getMonthDays(myDate.getFullYear(), myDate.getMonth()));

$("#datePicker2").html(myDate.format()); //format()需要自己扩展方法

myDate.setDate(01);

 $("#datePicker").html(myDate.format());

相关文章

网友评论

      本文标题:js中Date对象小结

      本文链接:https://www.haomeiwen.com/subject/pcaraqtx.html