我在iOS(Safari和Chrome)上看到的值不同于在Android或PC上的值。我的HTML是
<timepicker id="fromDatePicker" (keyup)="writeTime($event)"
[(ngModel)]="event.durationFrom" [showMeridian]="ismeridian"
[minuteStep]="1"></timepicker>
在打字稿中,我根据UTC字符串创建日期
this.event.durationFrom = new Date(event.calEvent.end.format());
在PC / Android上,“小时”显示的值与UTC小时相同,但在iOS上,显示的小时被默认时区偏移所偏移。这导致保存了不同的数据。有什么方法可以强制iOS实现使用UTC或忽略时区?
答案 0 :(得分:0)
这不是ngx-bootstrap或timepicker模块的问题。问题是我的全日历库,其时刻库在ios上以不同的日期值结束。尽管确实创建了变通办法,但我不确定如何最好地解决该问题。
setDateForTimePicker(calMoment) {
let utcDt = new Date(calMoment.toISOString(true));
let assetDt = new Date(calMoment);
if (utcDt.getHours() != assetDt.getHours()) {
return new Date(
assetDt.getTime() + assetDt.getTimezoneOffset() * 60 * 1000
);
} else {
return new Date(utcDt.getTime() + utcDt.getTimezoneOffset() * 60 * 1000);
}
}