前端

js关于时间的各种转换

2020-09-23  本文已影响0人  w晚风

前言:

工作中总是会遇到时间转换的情况,好多时候忘记了都得上吧百度查找下问题,所以在这里准备把常用的方法记录下来以便后续工作的更加方便

注意:

  1. 此处的标准时间格式为 2018-03-23 13:35:47

  2. 此处的毫秒为 js中getTime();

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

  4. getTime() 返回 1970 年 1 月 1 日至今的总 毫秒 数,不是总秒数

一、将毫秒转换成标准时间格式

/**
 * @param {数值类型} date
 */
function formatDate(date){
    date = new Date(date);
    var y  =  date.getFullYear();
    var m  =  date.getMonth()+1;
    var d  =  date.getDate();
    var h  =  date.getHours();
    var m1  =  date.getMinutes();
    var s  =  date.getSeconds();
    m  =  m<10?("0"+m):m;
    d  =  d<10?("0"+d):d;
    return y+"-"+m+"-"+d+" "+h+":"+m1+":"+s;
}
//  例
console.log(formatDate(1521783347000)); //  2018-03-23 13:35:47  参数为Number

二、将标准时间格式转换成毫秒

var date = Date.parse(new Date('2018-03-23 13:35:47'));// 参数为String
console.log(date);  //  1521783347000  单位:毫秒

三、格式化Thu May 12 2017 08:00:00 GMT+0800 (中国标准时间) 转字符串

function checkTime(i){
      if (i < 10){
           i =  "0" + i
       }
      return i;
}
var date = new Date('Thu May 12 2020 08:00:00 GMT+0800 (中国标准时间)');  
let date_value = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + checkTime(date.getHours()) + ':' + checkTime(date.getMinutes()) + ':' + checkTime(date.getSeconds());  
console.log(date_value) //  最后显示yyyy-MM-dd hh:mm:ss  2020-5-12 08:00:00

四、字符串Wed Dec 13 2017 16:00:00 GMT+0800 (中国标准时间)

//  如何将2017-12-13 16:00:00转换成标准时间?
function str_time(date) {  
    var t = Date.parse(date);  
    if (!isNaN(t)) {  
       return new Date(Date.parse(date.replace(/-/g, "/")));  
    }
    else{  
       return new Date();  
    }  
}
console.log(str_time('2017-12-13 16:00:0')) // 输入为:Wed Dec 13 2017 16:00:00 GMT+0800 (中国标准时间)

五、获取当前时间日期 2020-05-29 17:28:28

function getDate(){
    const myDate = new Date();
    const getFullYear = myDate.getFullYear();
    const getMonth = myDate.getMonth()+1 > 9? myDate.getMonth()+1:'0'+(myDate.getMonth()+1);
    const date = myDate.getDate();
    const getHours = myDate.getHours();  
    const getMinutes = myDate.getMinutes();
    const getSeconds = myDate.getSeconds(); 
    
    const t = getFullYear+'-'+getMonth+'-'+date+' '+getHours+':'+getMinutes+':'+getSeconds;  
    return t;
}
console.log(getDate()); // 输出:2020-09-23 22:23:37

六、js获取当前时间戳

//  第一种方法: Date.parse(new Date()) 获取的时间戳是把毫秒改成000显示,例:1600871731000
var time1 = Date.parse(new Date());
console.log(time1) 

// 第二种方法: new Date().valueOf() 是获取了当前毫秒的时间戳,例:1600871731734
var time2 = new Date().valueOf();
console.log(time2) 

// 第三种方法: new Date().getTime() 是获取了当前毫秒的时间戳 例:1600871731735
var time3 = new Date().getTime();

上一篇下一篇

猜你喜欢

热点阅读