600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 【JS】JavaScript时间与时间戳相互转换 | 时间yyyy-MM-dd HH:mm:ss转为时间戳 时

【JS】JavaScript时间与时间戳相互转换 | 时间yyyy-MM-dd HH:mm:ss转为时间戳 时

时间:2022-02-23 11:47:32

相关推荐

【JS】JavaScript时间与时间戳相互转换 | 时间yyyy-MM-dd HH:mm:ss转为时间戳 时

时间与时间戳相互转换

1.2 时间 (JS常用时间类型)1.2.1 GMT-格林尼治标准时1.2.2 UTC- 协调世界时1.2.3 中国标准时间1.2.4 ISO8601标准时间格式1.2.5 时间戳(timestamp)1. 时间戳转换为时间2. 时间转换为时间戳3. 时间字符串转换为时间4. 时间yyyy-MM-dd HH:mm:ss的含义

1.2 时间 (JS常用时间类型)

1.2.1 GMT-格林尼治标准时

1.2.2 UTC- 协调世界时

1.2.3 中国标准时间

JS中new date()直接输出便是以下格式:

Thu Feb 28 17:11:43 GMT+0800(中国标准时间)

JS默认中国标准时间是 GMT时间.由于我们国家采用的是东八区时间,因此是GMT +0800

1.2.4 ISO8601标准时间格式

例如-02-28T09:51:45.540Z,其中T表示合并,Z表示UTC时间

1.2.5 时间戳(timestamp)

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

java的date默认精度是毫秒,也就是说生成的时间戳就是13位的,而像c++或者php生成的时间戳默认就是10位的,因为其精度是秒。

问题1:为什么会生成13位的时间戳,13位的时间戳和10时间戳分别是怎么来的

date默认精度是毫秒,也就是说生成的时间戳就是13位的,有的时间戳默认就是10位的,因为其精度是秒。问题2:13位时间戳如何转换成10位时间戳

第一种:通过substring方法,将13位的时间戳最后三位数字截取

第二种:将13位时间戳除以1000取整。

北京时间:-11-18 22:14:24时间戳:1637244864707 (毫秒) Math.round(new Date())时间戳:1637244864 (秒)Math.round(new Date() / 1000)

1. 时间戳转换为时间

// 时间戳:1637244864707/* 时间戳转换为时间 */timestampToTime(timestamp) {timestamp = timestamp ? timestamp : null;let date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000let 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();return Y + M + D + h + m + s;}

2. 时间转换为时间戳

// 北京时间:-11-18 22:14:24/* 时间yyyy-MM-dd HH:mm:ss转为时间戳 */timeToTimestamp(time){let timestamp = Date.parse(new Date(time).toString());//timestamp = timestamp / 1000; //时间戳为13位需除1000,时间戳为13位的话不需除1000console.log(time + "的时间戳为:" + timestamp);return timestamp;//-11-18 22:14:24的时间戳为:1637244864707}

Date.parse()分析一个包含日期的字符串,函数的返回值为Number类型,返回该字符串所表示的日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。

3. 时间字符串转换为时间

let str = '12月10日 09:27';let replacedStr = str.replace('年', '-').replace('月', '-').replace('日', '');console.log(replacedStr); //-12-10 09:27let parsedDate = new Date(replacedStr);console.log(parsedDate); //Fri Dec 10 09:27:00 GMT+0800 (中国标准时间)

Fri Dec 10 09:27:00 GMT+0800 (中国标准时间)-12-10 09:27

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

”前导0”:比如凌晨1点2分,HH:mm显示为01:02,H:m显示为1:2

时间戳在线转换

JavaScript Date.parse()详解.

【JS】JavaScript时间与时间戳相互转换 | 时间yyyy-MM-dd HH:mm:ss转为时间戳 时间戳转换为时间yyyy-MM-dd HH:mm:ss

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。