JS格式化日期ymd为yyyy-mm-dd

时间:2019-05-28 11:09:54

标签: javascript momentjs

我从PHP获取日期,格式为ymd。我正在使用Moment.js将其转换为所需的格式,但无法正常工作。

例如,今天的日期是190528,但转换为YYYY-MM-DD后,它变成190528-1-1,而不是2019-05-28

是引起问题的日期的第一种格式,还是有一种方法可以解决这个问题并按照我需要的方式进行转换?

4 个答案:

答案 0 :(得分:4)

首先通过传递格式为“ YYMMDD”来解析日期

moment("190528", "YYMMDD").format("YYYY-MM-DD");

这将提供正确的输出。

答案 1 :(得分:1)

您可以将当前日期的格式作为第二个参数传递。

console.log(moment("190528", "YYMMDD").format("YYYY-MM-DD"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>

docs

答案 2 :(得分:1)

您不需要为此加载时间。

您可以将字符串分为年份,月份和日期。格式化年份并返回连接的字符串...

function formatDate(date) {
  var _d = date.match(/.{1,2}/g);
  _d[0] = "20" + _d[0];
  return _d.join("-");
}
var d = "190528";
console.log(formatDate(d));

答案 3 :(得分:1)

您需要说明一下日期字符串的格式:

console.log(moment("190528", "YYMMDD"))
<script src="https://unpkg.com/moment@2.24.0/moment.js"></script>