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