【问题标题】:JS formatting date ymd to yyyy-mm-dd [duplicate]JS将日期ymd格式化为yyyy-mm-dd [重复]
【发布时间】:2019-05-28 11:09:54
【问题描述】:

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

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

这是导致问题的日期的第一种格式,还是有办法克服这个问题并按照我需要的方式进行转换?

【问题讨论】:

  • 你是如何转换它的?使用 Moment,您可以在解析时传递一个格式字符串,moment('190528', 'YYMMDD') 以按照您想要的方式解析它。然后,当您想要实际格式化它时,您需要传递一个格式字符串。

标签: javascript momentjs


【解决方案1】:

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

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

这将给出正确的输出。

【讨论】:

    【解决方案2】:

    您不需要为此加载时刻。

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

    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】:

      你需要告诉时刻你的日期字符串是什么格式:

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

      【讨论】:

        【解决方案4】:

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

        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

        【讨论】:

          猜你喜欢
          • 2013-03-18
          • 1970-01-01
          • 2015-11-03
          • 1970-01-01
          • 1970-01-01
          • 2012-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多