【发布时间】:2018-04-01 09:20:48
【问题描述】:
我想将日期时间转换为 iso 以将其显示为 ionic 中的 ion-datetime
这是我的 .html 代码
<ion-item>
<ion-label stacked>Date</ion-label>
<ion-datetime [min]="minFrom" [max]="maxFrom" displayFormat="hh:mm a"></ion-datetime>
</ion-item>
这是我的 .ts 代码
var start = moment('08:00 AM', 'hh:mm A');
var end = moment('04:00 PM', 'hh:mm A').subtract(30, 'm');
if(end < start) {
end = end.add(1, 'd');
}
var minTime = moment(start, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DD HH:mm');
var maxTime = moment(end, 'YYYY-MM-DD HH:mm').format('YYYY-MM-DD HH:mm');
console.log(minTime);
console.log(maxTime);
console.log("=====================");
this.minFrom = moment(minTime, 'YYYY-MM-DD HH:mm:ss').toISOString();
this.maxFrom = moment(maxTime, 'YYYY-MM-DD HH:mm:ss').toISOString();
console.log(this.minFrom);
console.log(this.maxFrom);
输出给了我
=====================
2017-10-20 08:00
2017-10-21 16:30
=====================
2017-10-20T00:00:00.000Z
2017-10-20T08:30:00.000Z
为什么 ISO 格式会给出不同的值
预期输出
=====================
2017-10-20 08:00
2017-10-21 16:30
=====================
2017-10-20T08:00:00.000Z
2017-10-21T16:30:00.000Z
这是一个小提琴样本
【问题讨论】:
-
'2017-10-20 08:00' 被解释为本地,2017-10-20T00:00:00.000Z 是 UTC。您的时区似乎是 GMT-0800(美国太平洋标准时间还是阿拉斯加夏令时间?),因此它们在不同时区(分别为 -0800 和 +0000)是同一时刻。
标签: javascript datetime typescript ionic2 momentjs