js中引用dayjs处理字符串与时间转换及时间比较


js中引用dayjs处理字符串与时间转换及时间比较

在js中时间处理问题一直是我比较棘手的问题,现在终于找到一个比较完美的处理方式

以下解决方式需要引入dayjs

<script src="./dayjs.js"></script>
<script type="text/javascript">
    function format(){

    //字符串转日期
    var date = dayjs('2021-01-01').toDate()
    date = dayjs('2021-1-1').toDate()
    date = dayjs('2021/01/01').toDate()
    date = dayjs('2021/1/1').toDate()
    date = dayjs('20210101').toDate()
    date = dayjs('2021011').toDate()
    //字符串转时间
    var time = dayjs('2021-01-01 01:10:11').toDate()
    time = dayjs('2021-01-0101:10:11').toDate()
    time = dayjs('2021-01-01 011011').toDate()
    time = dayjs('2021-01-01011011').toDate()

    //时间转字符串
    var curTime = dayjs(timestr) //获取需要转换时间传空为当前时间
    curTime.format()  // '2021-01-01T01:10:11+08:00'
    curTime.format('YYYY-MM-DD HH:mm:ss') //'2021-01-01 10:10:01'
    curTime.format('YYYY年MM月DD日 HH时mm分ss秒') //'2021年01月01日 10时10分01秒'

    //时间比较
    var a =  dayjs('2021-01-01 01:10:11')
    var b =  dayjs('2021-02-10 01:20:31')
    b.diff(a) // 3456620000 相差毫秒数
    b.diff(a,'y') 
    b.diff(a,'year')  // 0 差值转为年
    b.diff(a,'M')
    b.diff(a,'Month') // 1 
    b.diff(a,'d')
    b.diff(a,'day')  // 40
    b.diff(a,'h')
    b.diff(a,'hour')  // 960
    b.diff(a,'m')
    b.diff(a,'minute')  // 57610
    b.diff(a,'s')
    b.diff(a,'second')  // 3456620

    //时间增加
    var date = dayjs('2021-01-01 10:10:10')
    date.add(1,'hour')  //2021-01-01 11:10:10
    date.add(1,'minute')  //2021-01-01 10:11:10
    date.add(1,'second')  //2021-01-01 10:10:11
    date.add(1,'day')  //2021-01-02 10:10:10
    date.add(1,'week')  //2021-01-08 10:10:10
    date.add(1,'month')  //2021-02-01 10:10:10
    date.add(1,'year')  //2022-01-01 10:10:10
    //时间减少
    var date = dayjs('2021-01-01 10:10:10')
    date.subtract(1, 'year')  //2020-01-01 10:10:10
    ...

    //获取时间的开始
    var date = dayjs('2021-10-15 10:10:10')
    date.startOf('hour')  //2021-10-15 10:00:00
    date.startOf('minute')  //2021-10-15 10:10:00
    date.startOf('second')  //2021-10-15 10:10:10
    date.startOf('day')  //2021-10-15 00:00:00
    date.startOf('week')  //2021-10-10 00:00:00
    date.startOf('month')  //2021-10-01 00:00:00
    date.startOf('year')  //2021-01-01 00:00:00
    //获取时间的结束
    var date = dayjs('2021-10-15 10:10:10')
    date.endOf('hour')  //2021-10-15 10:59:59
    date.endOf('minute')  //2021-10-15 10:10:59
    date.endOf('second')  //2021-10-15 10:10:10
    date.endOf('day')  //2021-10-15 23:59:59
    date.endOf('week')  //2021-10-16 23:59:59
    date.endOf('month')  //2021-10-31 23:59:59
    date.endOf('year')  //2021-12-31 23:59:59
    
}
</script>

以上是比较常用的一些用法,更多用法可以访问 Day.js中文网 (fenxianglu.cn)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM