js 时间格式换成 把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd)记录

注意: 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 日至今的总 毫秒 数,不是总秒数

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

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;
    }

 

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

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

三、ios系统、safari处理日期的格式,日期对象比较大小

  1. ios系统、safari只能识别"2018/10/15 00:00:00",不能识别"2018-10-15 00:00:00",所以需要转换格式;

    let startTime = startTime .replace("-", "/").replace("-", "/");

  2. 日期字符串需要转换成日期对象来比较大小,也可以转成毫秒比较;

    let startTime = new Date(startDate); 

    let now = new Date();//'Tue Sep 17 2019 11:41:07 GMT+0800 (中国标准时间)';

    new Date()即'Tue Sep 17 2019 11:41:07 GMT+0800 (中国标准时间)', 这种日期对象格式可以直接比较大小;

四、js把字符串(yyyy-mm-dd)转换成日期格式(yyyymmdd) 

  var s = this.formatDate("1521783347000"); 

      var e = this.formatDate("1521783347000");

        this.searchForm.startTime = s.replace(/[-T]/g, '');//yyyymmdd

        this.searchForm.end_Date = e.replace(/[-T]/g, '');//yyyymmdd

五、js把字符串(yyyymmdd)转换成日期格式(yyyy-mm-dd)

1、第一种写法:

 
 var r="20112233".replace(/^(d{4})(d{2})(d{2})$/, "$1-$2-$3")

2、第二种写法: 

 
 var dateString = '19930701';
 var pattern = /(d{4})(d{2})(d{2})/;
 var formatedDate = dateString.replace(pattern, '$1-$2-$3');
原文地址:https://www.cnblogs.com/FACESCORE/p/12624731.html