【JavaScript】时间与时间戳相互转换

【JavaScript】时间与时间戳相互转换


时间戳在线转换工具

时间格式化对照表

转载文章

1、时间戳

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数

  • 10位的时间戳,精度:秒
  • 13位的时间戳,精度:毫秒
北京时间:2022-08-26 04:16:19
10位时间戳:1661458579(秒)
13位时间戳:1661458579416(毫秒)

2、时间戳转换为时间

// 时间戳转换为时间yyyy-MM-dd HH:mm:ss
// 时间戳:1661458579416
function time(timestamp) {
  let date = new Date(timestamp);   // Fri Aug 26 2022 01:09:43 GMT+0800 (中国标准时间)
  let Y = date.getFullYear() + '-';
  let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
  let D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate());
  let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
  let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
  let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
  console.log(timestamp + "的时间为:" + Y + M + D +" "+h + m + s);   // 1661458579416的时间为:2022-08-26 04:16:19
}
time(1661458579416);

3、时间转换为时间戳

// 时间yyyy-MM-dd HH:mm:ss转换为时间戳
// 北京时间:2022-08-26 04:16:19
function timestamp(time){
  let timestamp = Date.parse(new Date(time).toString());
  // timestamp = timestamp / 1000;   // 时间戳为10位需除1000,时间戳为13位不用
  console.log(time + "的时间戳为:" + timestamp);   // 2022-08-26 04:16:19的时间戳为:1661458579000
}
timestamp('2022-08-26 04:16:19');

Date.parse()函数用于分析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。

4、时间yyyy-MM-dd HH:mm:ss的含义

字段说明
yyyy或YYYY:注意这个大小写是不同的!!!
y 是Year, Y 表示的是Week year。
Week year :当天所在周所在的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算下一年。
MM月(1~12):M大写是为了区分“月”与“分”
dd日(1~31):必须小写,大写有时会出现本文上面出现的诡异bug
HH或或H或h:大小写不同!!!
h(112)是`12小时制`,H(023)是24小时制
HH和H区别在于是否有前导零
mm或m分(0~59):mm与m的区别在于是否有前导零
ss或s秒(0~59):ss与s的区别在于是否有前导零

前导零:显示数字前面的0的一种格式
例子:HH:mm显示为04:06,H:m显示为4:6

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值