Javascript里面的时间处理:将时间戳或时间对象转成字符串格式

  问题背景:想把一个时间直接转成字符串格式

  通过查api发现有个toLocaleString(),根据本地时间格式,把 Date 对象转换为字符串

new Date().toLocaleString();
//"2018/5/31 下午1:43:06"

  但是默认是12小时制,会带这种上午下午,所以肯定不需要,继续查,发现可以配置

var ss = new Date().getTime() + 3600000;
(new Date(ss).toLocaleString('chinese',{hour12:false})).replace(///g,'-');
//"2018-5-31 14:40:32"

  这样就转成我需要的格式啦。

  JS的日期对象方法,可以看下:JavaScript Date 对象

1、js获取当前时间戳的方法

var timestamp1 = Date.parse(new Date());
var timestamp2 = (new Date()).valueOf();
var timestamp3 = new Date().getTime();
console.log(timestamp1,timestamp2,timestamp3)
//VM140:4 1527745698000 1527745698616 1527745698616

  第一种:获取的时间戳是精度到秒级,把毫秒改成000显示;

  第二种和第三种是精度到毫秒级,获取了当前毫秒的时间戳。

var newDay1 = new Date();
var newDay2 = Date.parse(new Date());
var newDay3 = +new Date();
console.log(Number(newDay1),newDay2,newDay3)
//VM160:4 1527745994726 1527745994000 1527745994726

  第一种和第三种,使用数字对象的方法返回的时间戳,精确到了毫秒,

  而第二种日期对象的Date.parse()方法只精确到了秒,后三位都是用的0填充的,所以个人推荐第一种

2、将时间戳转换成Date对象

new Date(1527745994726)
//Thu May 31 2018 13:53:14 GMT+0800 (中国标准时间)
原文地址:https://www.cnblogs.com/goloving/p/9116305.html