我有以下需求:最终用户应在一个空字段中输入日期时间。借助业务逻辑,该日期时间可以由应用程序建议。因此,我想做的是单击空白字段在字段和ion-datetime组件中都显示建议的日期时间。
这是我的代码:
在HTML
<ion-datetime displayFormat='YYYY-MM-DD HH:mm'
pickerFormat='YYYY-MM-DD HH:mm'
text-center
(click)="init_worked_time()"
[(ngModel)]='worked_time'>
</ion-datetime>
在打字稿中
init_worked_time() {
if (this.worked_time == undefined) {
if (this.times.start_time != 0) {
let tzoffset = (new Date()).getTimezoneOffset() * 60000;
this.worked_time = moment(this.times.start_time).subtract(tzoffset, 'milliseconds').toISOString().slice(0, -1);
}
}
}
问题是建议值在单击后在字段中显示良好,但是ion-datetime组件显示了当前UTC时间(甚至不是本地时间…)
是否有更好的方法来满足这种需求?还是有可能通过编程方式更新离子日期时间分量的显示值?
谢谢!
答案 0 :(得分:2)
您使用的momentJs默认情况下已使用本地时间,因此无需减去偏移量。
this
在HTML中,您需要使用事件init_worked_time() {
if (this.worked_time == undefined) {
if (this.times.start_time != 0) {
this.worked_time = moment(this.times.start_time).format();
}
}
}
而不是tap
:
click
这是在线 DEMO