8601 ISO 字符串到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] .

相关内容

  • 没有找到相关文章

最新更新