来自星星的码农 - 个人博客

来自星星的码农 - 个人博客

js时间与时间戳的转换

时间戳转日期

注意了php时间戳是10位,js里是13位,注意转换。
  function formatDateTime(timeStamp) {  
  	 	var date = new Date(timeStamp*1000) // 转换
  		var y = date.getFullYear()  
  		var m = date.getMonth() + 1  
  		var d = date.getDate()  
  		var h = date.getHours()
  		var minute = date.getMinutes()
  		var second = date.getSeconds()
  
  		m = m < 10 ? ('0' + m) : m
  		d = d < 10 ? ('0' + d) : d 
  		h = h < 10 ? ('0' + h) : h
  		minute = minute < 10 ? ('0' + minute) : minute
  		minute = second < 10 ? ('0' + second) : second
  
  		var resultData = y + '-' + m + '-' + d+' '+h + ':' + minute + ':' + minute
  		return resultData 
  	}

时间转时间戳或获取当前时间

  function getTimeStamp(dateTime) {
  	  if (dateTime) {
  		    var timeStamp = new Date(dateTime.replace(/-/g, '/')).getTime();
  	  }else{
  		    var timeStamp = new Date().getTime();
  	  }             
       return parseInt(timeStamp/1000);
  }
  getTimeStamp('2018-11-11 11:11:11') // 输出 1541905871

秒转换成时分秒

  function setTime(time) {
  	  var h = parseInt(time/60/60)
  	  var m = parseInt(time/60%60)
  	  var s = parseInt(time%60%60)
  	  h = h < 10 ? ('0' + h) : h
  	  m = m < 10 ? ('0' + m) : m 
  	  s = s < 10 ? ('0' + s) : s
    }
    setTime(61) // 输出 00:01:01

获取当前时间戳

  • 精确到秒,毫秒级的转为000
var timestamp = Date.parse(new Date());
  • 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值
var timestamp = (new Date()).valueOf();
  • 通过原型方法直接获得当前时间的准确毫秒值
var timestamp = new Date().getTime();
  • 将时间转化为一个number类型的数值来获取准确毫秒值
var timetamp = Number(new Date()) ;

当天0点0分0秒时间戳

let todyTimeStamp = new Date(new Date().setHours(0, 0, 0, 0)) / 1000