老java后端表示很省心!JavaScript 时间戳

无论什么代码,写的少了自然也就生疏了,经常是双手摸着键盘死都想不起来具体要怎么写。要么一写就错反复改,要么想不起来上网查,总之是比较浪费时间。

于是我一狠心一跺脚,就写了这篇 JavaScript 时间对象与时间戳互相转换的小文。欢迎读者们留言与我交流。

1、JavaScript 的时间对象转换为时间戳

1.1、时间对象转时间戳的 5 种写法

在 JavaScript 中,将时间对象转换为时间戳的方法有 5 种,示例如下:

/* 定义一个时间对象 dt,然后依次演示各种将 dt 转换为时间戳的写法 */
var dt = new Date( "2019-07-04 23:59:59.999" );

/* 写法一,精确到毫秒,得到 13 位时间戳 1562255999999 */
console.log( dt.getTime() );

/* 写法二,精确到毫秒,得到 13 位时间戳 1562255999999 */
console.log( dt.valueOf() );

/* 写法三,精确到毫秒,得到 13 位时间戳 1562255999999 */
console.log( Number( dt ) );

/* 写法四,精确到毫秒,得到 13 位时间戳 1562255999999 */
console.log( +dt );

/* 写法五,精确到秒,得到 13 位时间戳 1562255999000,后三位固定为 000 */
console.log( Date.parse( dt ) );

1.2、获得当前时间的时间戳

在 JavaScript 中,当前时间可用 new Date() 表示,再结合上文中时间对象转时间戳的写法,那么就能获得当前时间的时间戳了,示例如下:

new Date().getTime();   // 方法一
new Date().valueOf();   // 方法二
Date.parse(new Date()); // 方法三
Number(new Date());     // 方法四
+new Date();            // 方法五
image.png

1.3、获得 10 位数的时间戳

在 JavaScript 中,通过时间对象转换得到的时间戳都是 13 位的,但有时候我们也需要精确到秒的 10 位时间戳,比如微信支付用的就是 10 位的时间戳。要在 JavaScript 获得 10 位的时间戳,大致思路有两个,要么截取前 10 位,要么除以 1000。示例如下:

/* 将 13 位时间戳除以 1000 然后再取整,得到 10 位时间戳数字 */
parseInt( +new Date() / 1000 );

/* 将 13 位时间戳转换为字符串截取前 10 位,得到 10 位时间戳字符串 */
(+new Date() ).toString().substring( 0, 10 );   /* 截取第 0~9 位 */
(+new Date() ).toString().substr( 0, 10 );      /* 从第 0 位开始截取 10 位 */

2、JavaScript 的时间戳转换为时间对象

在 JavaScript 中,时间戳转时间对象的方法非常简单,直接将一个时间戳做为 Date 的参数即可,示例如下:

/* 注意:参数中的时间戳必须是 13 位的,多一位或少一位都不行 */
new Date( 1562169599000 );

/* 将时间戳转换为更加直观形象的本地时间 */
new Date( 1562169599000 ).toLocaleString();
image.png

3、总结

自从前后端完全分离的开发模式流行起来之后,本人就彻底成了一名后端开发,也就很少再写前端代码了。但在与前端对接的过程中,偶尔还是需要用到一些前端技术,比如 JavaScript 时间戳。

无论什么代码,写的少了自然也就生疏了,经常是双手摸着键盘死都想不起来具体要怎么写。要么一写就错反复改,要么想不起来上网查,总之是比较浪费时间。

于是我一狠心一跺脚,就写了这篇 JavaScript 时间对象与时间戳互相转换的小文。欢迎读者们留言与我交流。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 29,293评论 1赞 45
  • 1. 介绍:阐述 Date 对象。 Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方...
    花差花差小宝阅读 685评论 0赞 1
  • MySql取得日期(前一天、某一天) 取得当天: SELECT curdate(); mysql> SELECT ...
    laravel阅读 1,951评论 0赞 4
  • 一、MySQL 获得当前日期时间 函数 1.1 获得当前日期 + 时间(date + time) 函数:now()...
    梦遇缱绻的馥郁阅读 1,036评论 0赞 1
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,295评论 0赞 1

友情链接更多精彩内容