将时间转换为iso格式以填充离子2中的ion-datetime

时间:2017-08-04 02:50:01

标签: angular typescript ionic2 momentjs ionic3

我的html中有这个:

<ion-datetime [(ngModel)]="time" formControlName="time" displayFormat="hh:mm a"></ion-datetime>

我想用来自服务器的数据填充它。 http请求的结果是字符串格式:

10:00PM

我的.ts我有这个代码填充:

this.time = data.time;

其中data.time = '10:00PM'

但不幸的是,它给我一个错误:ISO格式无效。

如何将10:00PM转换为ISO格式,以便以显示格式ion-datetime填充hh:mm a

请帮帮我。谢谢:))

1 个答案:

答案 0 :(得分:1)

如果您想要显示'10:00PM',则需要将该字符串转换为'22:00'。使用该格式,ion-datetime组件将预先选择'10:00'小时和'PM'。

您可以使用moment.js轻松完成此操作,如下所示:

moment(yourString, 'h:mm a').format('H:mm');

然后,正如您所说,您可以将displayFormat属性调整为hh:mm A,如下所示:

<ion-item no-padding color="light">
  <ion-label floating>{{ 'FIELDS.TIME' | translate }}</ion-label>
  <ion-datetime ... displayFormat="hh:mm A"></ion-datetime>
</ion-item>