【发布时间】:2016-12-10 10:19:05
【问题描述】:
我在使用 Ionic 2 beta 11 中的 datetime 组件时遇到问题。根据我在 Ionic API documentation 中收集的信息,我应该从 Date.toISOString 中传递一个值。这工作正常,除了日期显示为 UTC 而不是设备的当前时区(PDT 用于我的目的)。例如,日期显示为:
09/19/2016 8:46 PM
而不是预期的:
09/19/2016 1:46 PM
这是我的支持类:
export class TestPage {
private _date: Date = new Date();
public get date(): string {
return this._date.toISOString();
}
}
任何我的 TestPage 模板代码:
<ion-datetime
displayFormat="MM/DD/YYYY h:mm A"
pickerFormat="MM DD YYYY h mm A"
[(ngModel)]="date">
</ion-datetime>
我可以通过首先将 Date.getTimezoneOffset 应用于日期值来解决此问题,但我宁愿避免这种情况,因为框架似乎应该考虑 UI 中的时区。
public get date(): string {
let n: number = this._date.getTime();
n -= (this._date.getTimezoneOffset() * 60 * 1000);
let d: string = new Date(n).toISOString();
return d;
}
这是我为演示该问题而创建的 Plunker:http://plnkr.co/edit/2iJRh1zM4pmwcNilWIcG?p=preview
【问题讨论】:
-
你能解决这个问题吗?
标签: angular typescript ionic2