时间戳与日期格式的相互转换

一、关于日期时间的标准

格林威治标准时间: (Greenwich Mean Time,简称G.M.T.)

十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测。1675年旧皇家观测所(Old Royal Observatory) 正式成立,到了1884年决定以通过格林威治的子午线作为划分地球东西两半球的经度零度。观测所门口墙上有一个标志24小时的时钟,显示当下的时间,对全 球而言,这里所设定的时间是世界时间参考点,全球都以格林威治的时间作为标准来设定时间,这就是我们耳熟能详的「格林威治标准时间」 (Greenwich Mean Time,简称G.M.T.)

世界标准时间(Coordinated Universal Time,简称UTC.)

UTC (Coordinated Universal Time) 世界标准时间,是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子 时所综合精算而成的时间,计算过程相当严谨精密,因此若以「世界标准时间」的角度来说,UTC比GMT来得更加精准。其误差值必须保持在0.9秒以内,若 大于0.9秒则由位于巴黎的国际地球自转事务中央局发布闰秒,使UTC与地球自转周期一致。所以基本上UTC的本质强调的是比GMT更为精确的世界时间标准。

二、时间戳

获取当前时间戳

方法一:精确到秒

var timestamp = Date.parse(new Date());
console.log(timestamp );//1572365623000

方法二:精确到毫秒

var timestamp = (new Date()).valueOf();
//或者
var timestamp=new Date().getTime();

console.log(timestamp );//1572365728965

三、时间戳转为日期格式

function toTime(timestamp) {
      //时间戳为10位需*1000,时间戳为13位的话不需乘1000
      if((timestamp+'').length==10){
      var date = new Date(timestamp * 1000);
      }
      if((timestamp+'').length==13){
      var date = new Date(timestamp );
      }
	var Y = (date.getFullYear()+'').padStart(2,0) + '-';
	var M = Number((date.getMonth()+'').padStart(2,0))+1+ '-';
	var D = (date.getDate()+'').padStart(2,0)+ ' ';
	var h = (date.getHours()+'').padStart(2,0) + ':';
	var m = (date.getMinutes()+'').padStart(2,0) + ':';
	var s = (date.getSeconds()+'').padStart(2,0);
	return Y+M+D+h+m+s;
}
    var time1=toTime(1572455600701);
    var time2=toTime(1572455600000);
    console.log(time1,time2);//2019-10-31 01:13:20 2019-10-31 01:13:20

四、日期格式转时间戳

function toTimestamp(dateStr){
    var newstr = dateStr.replace(/-/g,'/'); 
    var date =  new Date(newstr); 
    var time_str = date.getTime().toString();
    return [time_str.substr(0, 10),time_str];
}
 
toTimestamp('2019-06-17 23:11:54');
console.log(toTimestamp('2019-06-17 23:11:54'));//[1560784314,1560784314000]

//验证
var unixTime=new Date('2019-06-17 23:11:54').getTime();
console.log(unixTime);//1560784314000
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值