时间戳转为年月日时分秒格式, 日期时间比较

1、自定义方法转换

  • 把时间戳 转为 年-月-日 时:分:秒 格式
 // 小于10前面补0
 function add0 (m) {
     return m < 10 ? '0' + m : m 
  }
  function dateTime (ts) {
     var time = new Date(ts)
     var year = time.getFullYear()
     var month = time.getMonth()+1
     var day = time.getDate()
     var hour = time.getHours()
     var minute = time.getMinutes()
     var second = time.getSeconds()
     
     return year + '-' + add0(month) + '-' + add0(day) + ' ' + add0(hour) + ':' + add0(minute) + ':' + add0(second)
  }
  console.log(dateTime(1586254138000));
  

打印结果如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210617185617744.p

 function formatDate (value) {
    if (value) {
      let date = new Date(parseInt(value))
        let y = date.getFullYear()
        let MM = date.getMonth() + 1
        MM = MM < 10 ? ('0' + MM) : MM
        let d = date.getDate()
        d = d < 10 ? ('0' + d) : d
        let h = date.getHours()
        h = h < 10 ? ('0' + h) : h
        let m = date.getMinutes()
        m = m < 10 ? ('0' + m) : m
        let s = date.getSeconds()
        s = s < 10 ? ('0' + s) : s
        return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s
    } else {
      return ''
    }
  }
  console.log(formatDate(1586254138000));

打印结果如下
在这里插入图片描述

把年月日,时分秒 转换成 时间戳


  function formatDate(value) {
    if (value) {
      var date = new Date(value);
      // 有三种方式获取
      var time1 = date.getTime();
      var time2 = date.valueOf();
      var time3 = Date.parse(date);
    }
    
    console.log(time1);
    console.log(time2);
    console.log(time3);
  }
  formatDate('2020-04-07 18:08:58')

打印如下
在这里插入图片描述

2、使用ES6的padStart()方法来补0


  function dateTime (ts) {
      let time = new Date(ts)
      let year = time.getFullYear()
      const month = (time.getMonth() + 1).toString().padStart(2, '0')
      const day = (time.getDate()).toString().padStart(2, '0')
      const hour = (time.getHours()).toString().padStart(2, '0')
      const minute = (time.getMinutes()).toString().padStart(2, '0')
      const second = (time.getSeconds()).toString().padStart(2, '0')

      return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second
  }
  
  console.log(dateTime(1586254138000));
    

打印结果如下
在这里插入图片描述

3、使用JavaScript 日期处理类库转换(Moment.js)

  • JavaScript 日期处理类库地址 :http://momentjs.cn/
  • 需要先npm / yarn 安装:npm install moment或者yarn add moment

import Moment from 'moment'
// 时间戳(毫秒)转化为标准时间格式 
export function dateTime (ts) { 
   const stamp = new Date(ts)
   const time = Moment(stamp).format('YYYY-MM-DD HH:mm:ss')
   return time
}
console.log(dateTime(1586254138000));

打印结果如下
在这里插入图片描述

js封装获取指定日期的前一天/后一天函数

// date 代表指定的日期,格式:2018-09-27
// day 传-1表始前一天,传1表始后一天
// JS获取指定日期的前一天,后一天
function getNextDate(date, day) { 
  let time = new Date(date);
  time.setDate(time.getDate() + day);
  let y = time.getFullYear();
  let m = time.getMonth() + 1 < 10 ? "0" + (time.getMonth() + 1) : time.getMonth() + 1;
  let d = time.getDate() < 10 ? "0" + time.getDate() : time.getDate();
  return y + "-" + m + "-" + d;
};
getNextDate("2021-05-07",-1);

运行结果: 2021-05-06

打印结果如下
在这里插入图片描述

js日期时间比较

1. js日期比较( 要求日期格式:yyyy-mm-dd)

   //js日期比较( 要求日期格式:yyyy-mm-dd)
 
   function DateBiJiao(firstDate, lastDate) {
      let arr = firstDate.split("-");
      let firstTime = new Date(arr[0], arr[1], arr[2]);
      let firstTimes = firstTime.getTime();
      
      let arrs = lastDate.split("-");
      let lastTime = new Date(arrs[0], arrs[1], arrs[2]);
      let lastTimes = lastTime.getTime();
      
      if (firstTimes >= lastTimes) {
        console.log('11');
      } else {
        console.log('22');
      }
   }
   
   DateBiJiao('2023-04-05', '2021-09-05')
   

打印结果如下
在这里插入图片描述

2. js时间比较( 要求日期格式:yyyy-mm-dd hh:mi:ss)

  //js时间比较( 要求日期格式:yyyy-mm-dd hh:mi:ss)
 
  function DateBiJiao(firstDate,lastDate) {
     let beginTime = firstDate;
     let endTime = lastDate;
     let beginTimes = beginTime.substring(0, 10).split('-');
     let endTimes = endTime.substring(0, 10).split('-');
 
     beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19);
     endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);
     
     let a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000;
     
     if (a < 0) {
       console.log('前一天 大!');
     } else if (a > 0) {
       console.log('前一天 小!');
     } else if (a == 0) {
      console.log('两天相等!');
     } else {
       return 'exception'
     }
  }
  DateBiJiao('2023-04-05 18:12:33', '2021-09-05 22:23:43')
 

打印结果如下
在这里插入图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值