js实现时间戳转化为自定义格式的年月日时分秒(yyyy-MM-dd HH:mm:ss)

1、自定义方法转换
	getYMDHMS (timestamp) {
      let time = new Date(timestamp)
      let year = time.getFullYear()
      let month = time.getMonth() + 1
      let date = time.getDate()
      let hours = time.getHours()
      let minute = time.getMinutes()
      let second = time.getSeconds()

      if (month < 10) { month = '0' + month }
      if (date < 10) { date = '0' + date }
      if (hours < 10) { hours = '0' + hours }
      if (minute < 10) { minute = '0' + minute }
      if (second < 10) { second = '0' + second }
      return year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second
    }
  
  // 使用es6的padStart()方法来补0
  getYMDHMS (timestamp) {
      let time = new Date(timestamp)
      let year = time.getFullYear()
      const month = (time.getMonth() + 1).toString().padStart(2, '0')
      const date = (time.getDate()).toString().padStart(2, '0')
      const hours = (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 + '-' + date + ' ' + hours + ':' + minute + ':' + second
    }
2、使用JavaScript 日期处理类库转换(Moment.js)

类库地址:http://momentjs.cn/
需要先npm安装:npm install moment

import Moment from 'moment'
// 时间戳(毫秒)转化为标准时间格式 
export function getFullTime(timeStamp) 
{ 
   const stamp = new Date(timeStamp)
   const time = Moment(stamp).format('YYYY-MM-DD HH:mm:ss')
   return time
}
3、相对时间戳计算

getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。
Date.now() 获取当前时间的时间戳(毫秒)
toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。

let curDate = new Date()      
//当前时间,时间戳
let endTimestamp = curDate.getTime() 
// 前一天时间戳(前24小时)
let endTimestamp = curDate.getTime() - 24 * 60 * 60 * 1000 //当前时间戳(毫秒) - 1天毫秒数 = 前一天时间戳
// 当前时间的后10分钟,时间戳
let timeStamp = curDate.getTime() + 10 * 60 * 1000 
// 明天的此时,时间戳
let endTimestamp = curDate.getTime() + 24 * 60 * 60 * 1000
// 当天0点,时间戳
let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() 
// 昨天0点,时间戳
let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() - 24 * 60 * 60 * 1000 
// 昨天23:59:59点(当天0点 - 1秒),时间戳
let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() - 1 * 1000
// 前六天0点,时间戳
let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() - 24 * 60 * 60 * 1000 * 6 

可以套用上面的时间戳换算方法测试下时间对不对。
也可以用在线版的时间戳转为时间字符串: https://tool.lu/timestamp/

你可能感兴趣的:(js)