离子离子日期时间:如何设置默认选择器值

时间:2018-08-04 10:51:02

标签: javascript datetime ionic-framework ionic3 momentjs

我有以下需求:最终用户应在一个空字段中输入日期时间。借助业务逻辑,该日期时间可以由应用程序建议。因此,我想做的是单击空白字段在字段和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时间(甚至不是本地时间…)

enter image description here

是否有更好的方法来满足这种需求?还是有可能通过编程方式更新离子日期时间分量的显示值?

谢谢!

1 个答案:

答案 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