【发布时间】:2021-04-09 04:01:57
【问题描述】:
我正在使用离子日期时间组件,如下所示
<ion-item >
<ion-label>Time:</ion-label>
<ion-datetime displayFormat="h:mm A" pickerFormat="h mm A" [(ngModel)]="localEstDelTime"></ion-datetime>
</ion-item>
在 ionViewDidLoad 上,我将 localEstDelTime 的值设置为:
var d = new Date()
var dt = d.setTime(d.getTime() + (5.5 + 2)*60*60*1000)
this.localEstDelTime = dt.toISOString()
基本上添加了 5.5 小时以使其适用于 GMT + 5.5 的印度时区,对于此用例,应该显示时间加上当前时间的 2 小时。
现在,要求假设最终用户通过 UI 又增加了一个小时,然后我想在本地时区获得那个小时和时间。我的代码无法正常工作,如下所示:
var storeEstDelTime = Date.parse(this.localEstDelTime)
var date = new Date(storeEstDelTime)
var hours = date.getHours() + 5.5
var minutes = date.getMinutes()
var ampm = Number(hours) >= 12 ? 'PM' : 'AM';
hours = hours % 12;
hours = hours ? hours : 12; // the hour ’0′ should be ’12′
var minutesStr = Number(minutes) < 10 ? '0'+ minutes : minutes;
estDeliveryTime = hours + ':' + minutesStr + ' ' + ampm;
所以我需要 estDeliveryTime 只是 hh:mm AM/PM 格式。我上面的代码需要修复。
【问题讨论】:
标签: javascript datetime ionic-framework ionic3