当前位置: 首页 > 面试题库 >

如何在Javascript中使用Moment js将ISO 8601解析为日期和时间格式?

盛辰沛
2023-03-14
问题内容

我目前正在使用Moment js将ISO 8601字符串解析为日期和时间,但无法正常工作。我究竟做错了什么?我也将采用其他任何更简单的解决方案。

我想将ISO
8601解析为:"2011-04-11T10:20:30Z"string中的date:"2011-04-11"和string中的time:"10:20:30"

并尝试过console.log(moment("2011-04-11T10:20:30Z" ,moment.ISO_8601))console.log(moment("2011-04-11T10:20:30Z" , ["YYYY",moment.ISO_8601])作为测试,但是它只是返回具有所有不同种类属性的对象。


问题答案:

使用moment.js

var str = '2011-04-11T10:20:30Z';

var date = moment(str);

var dateComponent = date.utc().format('YYYY-MM-DD');

var timeComponent = date.utc().format('HH:mm:ss');

console.log(dateComponent);

console.log(timeComponent);


<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

或仅通过字符串操作

var str = '2011-04-11T10:20:30Z';

var parts = str.slice(0, -1).split('T');

var dateComponent = parts[0];

var timeComponent = parts[1];

console.log(dateComponent);

console.log(timeComponent);


 类似资料:
  • 问题内容: 如何转换此 格式 ( ISO8601格式 ): 2014-03-13T09:05:50.240Z 为此( MySQL DATE格式 ): 2014-03-13 在PHP中? 问题答案: 尝试这个 完整的日期功能文档可以在这里找到:http : //php.net/manual/en/function.date.php PHP函数“ strtotime”不执行任何其他操作,然后将您的时间

  • 问题内容: 我从声称的API获取下一个字符串 所有日期格式均为ISO8601。 我正在尝试下一个代码: 不幸的是,结果 updatedAt 为nil 问题答案: 您的日期格式不正确,您需要考虑毫秒。 需要澄清的是,在日期格式中添加可以解决此问题。

  • 因此,有一个关于web应用程序的部分,用户可以向其中输入事件,web服务将这些事件以以下格式发送到移动应用程序: 我在尝试将字符串转换为日期时遇到了问题,这样我就可以从事件中获得时间(也可以在正确的时区中格式化),例如,这里有一个出现在“2015-03-20T20:00:00-07:00”上的字符串,当我拉动时,时间应该是太平洋时间1PM。但我得到的不是8PM就是3AM(这取决于我是否将UTC缩写

  • 这是一个很难回答的问题: 如何在没有外部库的情况下解析< code >“YYYYmmdd”格式的日期?如果输入字符串不是这种格式,我希望得到< code>invalid Date(或者undefined,如果这样更简单的话)。

  • 我需要使用php将日期时间插入到oracle表中。 我的日期字符串是这种格式: 当我在php中使用这种格式时, $date1=to_date('2013-10-22 08:02:30','YYYY-MM-DD HH24: MI: SS') 我看到oracle表中的数据是PM格式的。这怎么可能?我如何更改to\u日期,以便任何时间12都是上午,任何时间12点及以上都是下午?

  • 问题内容: 我正在尝试对JavaScript应用程序中的日期进行序列化/反序列化。 服务器端,我使用Java,JodaTime已安装在上面。我发现了如何使用UTC时区序列化为ISO,但是找不到如何进行反向操作。 这是我的代码 我不在乎是否使用Joda,只需要一个快速且有效的解决方案, 问题答案: 如果您使用的是Java 7或更早版本,则可以参考此文章。 如果您使用的是Java 8,则可以执行以下操