将mysql日期转换为js日期适用于chrome但不适用于safari

时间:2016-05-28 14:38:55

标签: mysql angular ionic2

我在angular2中使用管道将mysql日期转换为js日期格式,这是我的代码:

export class DateToIso {
    transform(value) {
        let date = new Date(value);
        let str = (date.getMonth() + 1) + '.' + date.getDate() + '.' +  date.getFullYear()
        return str;
    }
}

在HTML中我使用     {{ post[2] | dateToIso}} 显示转换日期。在Chrome中我获得了正确的日期时间,但没有在safari中。它返回NaN.NaN.NaN

2 个答案:

答案 0 :(得分:0)

我遇到了与货币管道类似的问题,这是一个国际化问题。我在这里写了http://blogs.msmvps.com/deborahk/angular-2-getting-started-problem-solver/

  1. 安装国际包:npm install intl@1.1.0 -save

  2. 在index.html中包含以下内容:

  3. (我正在使用触摸设备,粘贴的代码不起作用。请参阅链接)

答案 1 :(得分:0)

我尝试了@DeborahK,但它没有工作,所以我只是把Mysql日期“字符串”并从中创建了子字符串,并将子字符串重新排列为一个新的字符串并将其返回。

export class DateToIso {
    transform(value, args) {
        let month = value.substr(5,2);
        let day = value.substr(8,2);
        let timeThen = value.substr(11,5);
        let newValue = day + "." + month + " um " + timeThen;
        return newValue;
    }
}

我认为这不是最佳解决方案,但它正在发挥作用。希望尽快得到更好的解决方案。