[英]Convert datetime to ISO Format using moment js
I want to convert date time to iso to display it to ion-datetime in ionic 我想将日期时间转换为iso以在ionic中将其显示为ion-datetime
Here's my .html code 这是我的.html代码
<ion-item>
<ion-label stacked>Date</ion-label>
<ion-datetime [min]="minFrom" [max]="maxFrom" displayFormat="hh:mm a"></ion-datetime>
</ion-item>
Here's my .ts code 这是我的.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);
The output gives me 输出给我
=====================
2017-10-20 08:00
2017-10-21 16:30
=====================
2017-10-20T00:00:00.000Z
2017-10-20T08:30:00.000Z
Why is that the ISO Format gives different value 为什么ISO格式给出不同的值
expected output 预期产量
=====================
2017-10-20 08:00
2017-10-21 16:30
=====================
2017-10-20T08:00:00.000Z
2017-10-21T16:30:00.000Z
here's a sample fiddle 这是一个样本小提琴
https://jsfiddle.net/zpt30706/1/ https://jsfiddle.net/zpt30706/1/
This part of your existing code is fine. 现有代码的这一部分很好。
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');
}
Since you already have moment objects, you can now just format them as desired. 由于您已经具有矩对象,因此现在可以根据需要设置其格式。
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);
Output: 输出:
2017-10-20T08:00
2017-10-20T15:30
Note that you had subtracted 30 minutes from 16:00, so you get 15:30. 请注意,您已从16:00 减去 30分钟,因此您得到15:30。 If you actually wanted 16:30, then you should add 30 minutes instead. 如果您实际上想要的是16:30,则应该增加 30分钟。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.