javascript - 使用 moment js 将日期时间转换为 ISO 格式

标签 javascript datetime typescript ionic2 momentjs

我想将日期时间转换为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

这是一个示例 fiddle

https://jsfiddle.net/zpt30706/1/

最佳答案

现有代码的这部分很好。

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');
}

由于您已经有了 moment 对象,因此您现在可以根据需要设置它们的格式。

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 分钟。

关于javascript - 使用 moment js 将日期时间转换为 ISO 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46845106/

相关文章:

python - 如何将 YYYYMMDD 格式的给定日期转换为前一天

angular - 在 Angular2 中将 jquery-steps 与 FormGroup 结合使用

javascript - 如何在动态添加/删除输入字段中获取唯一的随机值

javascript - 更改 asp :TextBox css class depending on value using javascript

javascript - "Uncaught SyntaxError: Unexpected token <"导入时出错

javascript - 如何避免 React 组件中的 CSS 冲突?

Python XLWT - 自定义格式问题

c# - 将 Jalali 月份添加到 Jalali 日期

javascript - 有什么方法可以使用 Typescript 转换或更改对象的定义吗?

reactjs - 类型 'ref' 上不存在属性 'IntrinsicAttributes'