Javascript

时间:2016-01-13 18:30:03

标签: javascript date variables time timezone

我有一段非常可怕的时间试图将8601转换为可读格式。日期显示为' P0DT0H0M10S'并存储在名为timeLeft的var中。我在网上找到的每篇文章都告诉我如何将日期改为8601格式,而不是相反。

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

2 个答案:

答案 0 :(得分:1)

时刻有duration type

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>

答案 1 :(得分:0)

首先,那不是ISO-8601 date(甚至没有关闭)。

其次,momentjs does support parsing使用moment("20111031", "YYYYMMDD")语法(来自front page examples)的字符串。

我不确定您需要的模式是什么,但也许类似于[P]D[DT]H[H]M[M]S[S]