美文网首页让前端飞
时间格式兼容和时间相加减

时间格式兼容和时间相加减

作者: 雨未浓 | 来源:发表于2017-12-28 14:41 被阅读30次

    时间格式兼容

    最近写项目遇到一个奇怪的问题,在IE中无法用angular2的管道将"2017-6-8"这样的时间转换为"2017-06-08"这样的标准时间,打印出来是这样的NaN-NaN-NaN;而"2017-06-08"进入管道是ok的。网上给出的答案是不识别yyy-mm-dd这种格式,需要改成yyyy/mm/dd 这种格式。

    当我尝试用 new Date(time).getFullyear() 获取年时(获取月,日,时,分,秒类似),若time 为 "2017-6-8"这样的格式将会失败(谷歌比较强大不会挑理),需用time.replace(/-/g,'/') 将其转换为"2017/6/8"。
    完整写法:new Date(time.replace(/-/g,'/')).getFullYear()

    时间相加减

    例如 现在是 2017-06-25,我想得到10天后的日历但是月分大小月之分,若是二月份还得考虑是否是闰年,这就复杂了。
    用new Date(yyyy,MM,dd)就可迎刃而解了。
    1.先用上面的方法得到年,月,日(yyyy,MM,dd)
    2.然后new Date(yyyy,MM,dd+10)
    3.new Date(yyyy,MM,dd+10).getFullYear()+'-'+(new Date(yyyy,MM,dd+10).getMonth()+1)+new Date(yyyy,MM,dd+10).getDate()

    • 当要计算时分秒时 new Date(yyyy,MM,dd,HH,mm,ss)

    相关文章

      网友评论

        本文标题:时间格式兼容和时间相加减

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