首页 > 解决方案 > 在 ionic 应用程序中使用 for 循环适用于 linux 但不适用于 ios

问题描述

我已经使用离子制作了一个应用程序。在其中,我http get从我的数据库中获取一些价值。然后,我遍历结果以计算我在数据库中的值的创建日期与实际日期之间的时间差。

这段代码在我的 linux 上运行良好,但是当我在 ios 上的 iphone 上运行代码时,一切正常,除了 for 循环不起作用......这很奇怪。有人面对吗?

  ionViewWillEnter() {
    let date = new Date();
    this.http.get(this.server + `json.php?&id=${1}`).subscribe(resData => {
      console.log(resData);
      this.events = resData;

      for (let i=0; i < 10; i++){
        this.events[i]['unique_id'] = parseInt(this.events[i]['unique_id']);
        if ((date.getTime() - new Date(this.events[i].created_at).getTime()) / 1000 < 60) {
          this.events[i].ecart_now = 'there is ' + Math.round((date.getTime() - new Date(this.events[i].created_at).getTime()) / 1000)  + 's';
        }
      }
    })

  }

标签: iosangularionic-framework

解决方案


很可能是无效的日期格式。Safari 和 Internet Explorer 浏览器的日期格式存在问题:new Date("2011-02-07");.

控制台日志new Date(this.events[i].created_at),您会看到无效日期。

使用以下格式:

new Date(2011, 01, 07);
new Date(2011, 01, 07, 11, 05, 00);

推荐阅读