momentjs - moment.js 将日期格式化为没有破折号的 iso 8601?

标签 momentjs isodate

如何使用moment.js将日期格式化为iso 8601但没有破折号和冒号并将时间设置为0,例如如果我有这样的约会:

2016-10-08T09:00:00Z

我如何格式化为:
20161008T000000Z

moment(date).toISOString()2016-10-08T09:00:00.000Z这不是我想要的。

最佳答案

您可以简单地将您的输入解析为一个 moment 对象并使用 startOf 将时间设置为 00:00:00 .那么你可以使用 format 以自定义格式获取字符串的方法。

这里有一个使用字符串输入的工作示例,如果您的输入是 javascript Date 对象,您也可以使用相同的代码。

// Input date as string
var s = '2016-10-08T09:00:00Z';
// Reset time part
// var m = moment(s).startOf('day');  // no UTC
var m = moment.utc(s).startOf('day'); // UTC mode
// Format using custom format
console.log(m.format('YYYYMMDD[T]HHmmss[Z]'));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

关于momentjs - moment.js 将日期格式化为没有破折号的 iso 8601?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39936830/

相关文章:

javascript - 使用 moment.js 进行 Jasmine 约会模拟

node.js - momentJS:从不同时区的日期获取错误的时间戳

mongodb - Golang/mgo : How can I store Date (not ISODate) in mongodb?

php - 使用 PHP DateTime 获取特定日期的 "Right"年份

json - Meteor 在客户端集合中插入日期或时间戳

javascript - 将字符串转换为标准矩格式

javascript - MomentJS - 设置下季度开始的时间,同时保留相同/比较日历日?

javascript - Charts.js : Moment is not defined (using chart. bundle .min.js)

javascript - 按 iso 字符串降序排序不起作用

sql - BigQuery : Format ISO Date