[英]Convert datetime to ISO format (e.g. with moment.js) in javascript
[英]Convert datetime to ISO Format using moment js
我想將日期時間轉換為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
這是一個樣本小提琴
現有代碼的這一部分很好。
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');
}
由於您已經具有矩對象,因此現在可以根據需要設置其格式。
this.minFrom = start.format('YYYY-MM-DD[T]HH:mm');
this.maxFrom = end.format('YYYY-MM-DD[T]HH:mm');
console.log(this.minFrom);
console.log(this.maxFrom);
輸出:
2017-10-20T08:00
2017-10-20T15:30
請注意,您已從16:00 減去 30分鍾,因此您得到15:30。 如果您實際上想要的是16:30,則應該增加 30分鍾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.