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

Converting mysql date to js date works in chrome but not safari

我在 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 中却没有。它returns NaN.NaN.NaN.

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

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

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

(我使用的是触摸设备,粘贴的代码不起作用。请参阅 link)

我尝试了@DeborahK,但它没有用,所以我只使用 Mysql 日期 "String" 并从中提取子字符串并将子字符串重新排列为一个新字符串并返回它。

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

我认为这不是最佳解决方案,但它确实有效。希望尽快得到更好的解决方案。