【问题标题】:format date using moment with custom format使用自定义格式的时刻格式化日期
【发布时间】:2017-03-07 01:44:13
【问题描述】:
var format = 'EEEE, D 'de' MMMM 'de' Y'
moment(date).format(format);

我有一个自定义格式并将其与moment 一起使用并得到了这个

exp: segunda-feira, 2 de janeiro de 2017
act: Segunda-feira, 2 11 Janeiro 11 2017

注意模式中的占位符de实际上已经被解析了.. 有没有办法让我使用 moment 以预期格式 segunda-feira, 2 de janeiro de 2017 获取日期?

【问题讨论】:

标签: javascript node.js momentjs


【解决方案1】:

您必须使用[] 方括号来转义格式字符串中的字符,请参阅format 文档:

要对格式字符串中的字符进行转义,可以将字符括在方括号中。

此外请注意,此时没有EEEE 令牌,但单个E 代表星期几(ISO),因此在您的情况下,您将拥有2222。使用dddd 获得所需的输出。

这是一个工作示例:

var date = '2017-01-02';
var format = 'dddd, D [de] MMMM [de] YYYY';
console.log(moment(date).format(format));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/locale/pt.js"></script>

【讨论】:

    【解决方案2】:

    格式字符串中的escape characters,可以用方括号括起来。

    var momObj = moment();
    var format = 'EEEE, D [de] MMMM [de] Y';
    var fString = momObj.format(format);
    console.log(fString);
    &lt;script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"&gt;&lt;/script&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多