繁体   English   中英

用Javascript将8601 ISO字符串转换为可读的日期格式

[英]8601 ISO String to readable date format in Javascript

我在尝试将8601转换为可读格式时花了很多时间。 日期显示为“ P0DT0H0M10S”,并存储在名为timeLeft的变量中。 我在网上找到的每篇文章都告诉我如何将日期转换为8601格式,但反之则不行。

我尝试使用moment.js,但这似乎围绕当前日期而不是timeLeft var设置的日期。 如何将这个变数转换成用户友好的格式? 谢谢

Moment具有持续时间类型

 var duration = moment.duration('P1Y2M3DT4H5M6S'); // user-friendly format var out = duration.humanize(); snippet.log(out); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.min.js"></script> <script src="https://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 

首先,这不是ISO-8601日期 (甚至没有结束)。

其次, momentjs确实支持使用moment("20111031", "YYYYMMDD")语法(从其首页示例中 )将字符串解析为一个矩。

我不确定您需要的模式是什么,但是可能有点像[P]D[DT]H[H]M[M]S[S]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM