【问题标题】:Invalid Date Ionic 3 in IOSIOS中的无效日期离子3
【发布时间】:2019-10-22 14:23:17
【问题描述】:

Invalid Date Error 仅限 IOS 中的 ionic 3。 (在 Android 中运行良好)。

var f = data.posted_date +' '+ data.posted_time;
      var d = new Date(); // working Fine
      var b = new Date(f); // b becomes invalid Date

它在android中运行良好,但在IOS中不运行。

功能齐全:

  getProperTime() {
    this.dailyDiary.forEach(element => {
      var d = new Date(element.posted_date + " " + element.posted_time);
      var hours: any = d.getHours();
      var minutes: any = d.getMinutes();
      var ampm = hours >= 12 ? "pm" : "am";
      hours = hours % 12;
      hours = hours ? hours : 12; // the hour '0' should be '12'
      minutes = minutes < 10 ? "0" + minutes : minutes;
      var strTime = hours + ":" + minutes + " " + ampm;
      console.log("this is the getProperTime function output: " + strTime);
      element.posted_time = strTime;
    });
  }

这个函数显示为结果:

12:NaN am

【问题讨论】:

    标签: javascript android ios angular ionic-framework


    【解决方案1】:

    看起来像是 Safari 视图中的日期格式问题。

    var d = new Date("2011-02-07");
    

    Internet Explorer 和 Safari 不支持上述格式。

    这两个浏览器令人惊讶地不支持日期格式“yyyy-mm-dd”,因此失败了。支持所有浏览器,并建议坚持使用其中一种以避免错误:

    var d = new Date(2011, 01, 07); // yyyy, mm-1, dd  
    var d = new Date(2011, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
    var d = new Date("02/07/2011"); // "mm/dd/yyyy"  
    var d = new Date("02/07/2011 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
    var d = new Date(1297076700000); // milliseconds  
    var d = new Date("Mon Feb 07 2011 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-02
      • 2019-02-11
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 2011-05-17
      • 2013-09-14
      相关资源
      最近更新 更多