suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – js über Zeitkonvertierung und Zeitaddition und -subtraktion.

1. Über die Umrechnung der Zeit

默认


mounted () {
  this.HomePageDisplay();
  var myDate = new Date();
  var reg=/[\u4E00-\u9FA5]/g;
  this.latestS=myDate.toLocaleString().replace(/\//g,'-').replace(/:/g,'-').replace(/[ ]/g,"").replace(reg,'');
  console.log(this.latestS)
},

Das habe ich umgebaut.

Was ich will, ist der 04.07.2017. .

2. Bezüglich der Addition und Subtraktion von Zeit.


1、2017-07-05-04  减去10个小时。 格式不变。。

2、 当前的小时减去10个小时。。    下面代码我写的。 给自己蠢哭了。 求指点。。
    


 var timeData = [
    myDate.getHours()-10, myDate.getHours()-9, myDate.getHours()-8, myDate.getHours()-7, myDate.getHours()-6, myDate.getHours()-5, myDate.getHours()-4, myDate.getHours()-3, myDate.getHours()-2, myDate.getHours()-1, myDate.getHours(),
  ];
phpcn_u1582phpcn_u15822746 Tage vor861

Antworte allen(4)Ich werde antworten

  • 迷茫

    迷茫2017-07-05 10:42:20

    关于时间的处理,建议引入 moment 库。http://momentjs.com/docs/#/pa...

    var t = moment().format('YYYY-MM-DD-HH');
    console.log(t); //2017-07-03-18
    var tsub = moment(t, 'YYYY-MM-DD-HH').subtract(10, 'hours').format('YYYY-MM-DD-HH');
    console.log(tsub); //2017-07-03-08

    Antwort
    0
  • 阿神

    阿神2017-07-05 10:42:20

    1. 需要2017-03-14-04-50-08这样的格式的话:

      var str = '2017/3/14 下午4:50:08';
      var arr = str.split(/[ ^\d ]+/g).map(item => (parseInt(item, 10) < 10 ? '0' + parseInt(item, 10) : item )).join('-');
      console.log(arr);

    2. 至于时间的加减的话,如楼上所言,项目引入moment.js等库其实挺好的。

    Antwort
    0
  • PHP中文网

    PHP中文网2017-07-05 10:42:20

    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; 
    }
    new Date().format("yyyy-MM-dd hh:mm:ss");//"2017-07-03 17:01:35"
    
    加减法用总的毫秒数计算,然后在转化成时间。   

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:42:20

    Date.prototype.past = function(pattern, pastDays) {

    function zeroize(num) {
        return num < 10 ? "0" + num : num;
    };
    var pastday = new Date((this - 0) - 1000 * 60 * 60 * 24 * pastDays);
    var pattern = pattern; //    YYYY-MM-DD 或 MM-DD-YYYY 或 YYYY-MM-DD , hh : mm : ss
    var dateObj = {
        "Y": pastday.getFullYear(),
        "M": zeroize(pastday.getMonth() + 1),
        "D": zeroize(pastday.getDate()),
        "h": zeroize(pastday.getHours()),
        "m": zeroize(pastday.getMinutes()),
        "s": zeroize(pastday.getSeconds())
    };
    return pattern.replace(/YYYY|MM|DD|hh|mm|ss/g, function(match) {
        switch (match) {
            case "YYYY":
                return dateObj.Y;
            case "MM":
                return dateObj.M;
            case "DD":
                return dateObj.D;
            case "hh":
                return dateObj.h;
            case "mm":
                return dateObj.m;
            case "ss":
                return dateObj.s;
        };
    });

    };
    var timeEnd = new Date();
    timeEnd = timeEnd.getFullYear() + '/' + (timeEnd.getMonth() + 1) + '/' + timeEnd.getDate() + ' ' + timeEnd.getHours() + ':' + timeEnd.getMinutes();
    你的意思是当前时间往前推10分钟,new Date(timeEnd).past('YYYY-MM-DD hh : mm : ss', 1/(24*6));

    Antwort
    0
  • StornierenAntwort