获取两个日期之间的差值

语法

  1. import { getDayDiff } from 'warbler-js'
  2. const result = getDayDiff(date1, date2, unit)

参数

  • date1 (String) : 指定日期1,可传参数同 new Date(),并且支持 yyyy-mm-dd格式。
  • date2 (String) : 指定日期2,可传参数同 new Date(),并且支持 yyyy-mm-dd格式。
  • unit (String) : 设置差值的单位,支持以下值。
day hour minute second ms
小时 分钟 毫秒

返回值

Number : 两个日期之间的差值。

源码

  1. const getDayDiff = (date1, date2, unit) => {
  2. const myDate1 = typeof date1 === 'string' && date1.includes('-') ? date1.replace(/-/g, '/') : date1;
  3. const myDate2 = typeof date2 === 'string' && date2.includes('-') ? date2.replace(/-/g, '/') : date2;
  4. const map = {
  5. day: 1000 * 60 * 60 * 24,
  6. hour: 1000 * 60 * 60,
  7. minute: 1000 * 60,
  8. second: 1000,
  9. ms: 1,
  10. };
  11. return Math.abs((new Date(myDate2) - new Date(myDate1)) / (map[unit]));
  12. };

例子

  1. import { getDayDiff } from 'warbler-js'
  2. // 以天为单位
  3. const result1 = getDayDiff("2021,9,15",'2021,9,16','day')
  4. // 以小时为单位
  5. const result2 = getDayDiff("2021,9,15",'2021,9,16','hour')
  6. // 以分钟为单位
  7. const result3 = getDayDiff("2021,9,15",'2021,9,16','minute')
  8. // 以秒为单位
  9. const result4 = getDayDiff("2021,9,15",'2021,9,16','second')
  10. // 以毫秒为单位
  11. const result5 = getDayDiff("2021,9,15",'2021,9,16','ms')
  12. console.log(result1) //=> 1
  13. console.log(result2) //=> 24
  14. console.log(result3) //=> 1440
  15. console.log(result4) //=> 86400
  16. console.log(result5) //=> 86400000