>》>》>》>》

js时间格式化和相互转换

1. Thu Mar 07 2019 12:00:00 GMT+0800 (中国标准时间) 转换为 2019-03-07 12:00:00

  const d = new Date(Thu Mar 07 2019 12:00:00 GMT+0800 (中国标准时间))
        const resDate = d.getFullYear() + '-' + this.p((d.getMonth() + 1)) + '-' + this.p(d.getDate())
        const resTime = this.p(d.getHours()) + ':' + this.p(d.getMinutes()) + ':' + this.p(d.getSeconds())

 

p为不够10添加0的函数

  p(s) {
      return s < 10 ? '0' + s : s
    },

 

2.2019-03-07 12:00:00转换为 Thu Mar 07 2019 12:00:00 GMT+0800 (中国标准时间)

parserDate(date) {
      var t = Date.parse(date)
      if (!isNaN(t)) {
        return new Date(Date.parse(date.replace(/-/g, '/')))
      }
    },

 

3.时间转时间戳

Thu Sep 20 2018 16:47:52 GMT+0800 (中国标准时间)转换为1537433272051

console.log(Date.parse(new Date()))

console.log(new Date().getTime())

 

"2018-09-20 16:50:48"转换为1537433448000

var timeDate = "2018-09-20 16:50:48";
var Time = new Date(timeDate);
var timestemp = Time.getTime();
console.log(timestemp)

 4.将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd

 

Date.prototype.format = function(fmt) { 
     var o = { 
        "M+" : this.getMonth()+1,                 //月份 
        "d+" : this.getDate(),                    //
        "h+" : this.getHours(),                   //小时 
        "m+" : this.getMinutes(),                 //
        "s+" : this.getSeconds(),                 //
        "q+" : Math.floor((this.getMonth()+3)/3), //季度 
        "S"  : this.getMilliseconds()             //毫秒 
    }; 
    if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
}  

 

 

调用

var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
console.log(time1);

 

运行如下:

   

 

 

 

也可以转换成 ”年月日”的格式 

var time2 = new Date().format("yyyy-MM-dd");
console.log(time2);

 

运行如下:

 

 

 

还将指定的日期转换为"年月日"的格式,代码如下:

    var oldTime = (new Date("2012/12/25 20:11:11")).getTime();
    var curTime = new Date(oldTime).format("yyyy-MM-dd");
    console.log(curTime);

 

   运行如下:

 

 

 

 

 

还可以将 "时间戳" 转换为 "年月日" 的格式.

 

比如如下代码: 

    var da = 1402233166999;
    da = new Date(da);
    var year = da.getFullYear()+'年';
    var month = da.getMonth()+1+'月';
    var date = da.getDate()+'日';
    console.log([year,month,date].join('-'));

 

 

 

 

 

 



 


posted @ 2019-12-12 16:14  大、锤  阅读(7018)  评论(0编辑  收藏  举报