2017-03-07 116 views
0
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 .. 是否有辦法對於我使用時刻以預期格式獲得日期segunda-feira, 2 de janeiro de 2017

+0

的可能的複製[解析 '日期和時間' 在Javascript中的字符串,是自定義格式(http://stackoverflow.com/questions/28002261 /解析-日期 - 時間 - 串中的JavaScript-其中-是-的定製格式) – matt

回答

1

你必須使用[]方括號逃跑格式字符串中的字符,請參閱format文檔:

逃避格式字符串的字符,你可以用的字符方括號。

而且注意,在那一刻沒有EEEE令牌,但單E代表周(ISO)的天,所以你的情況,你將有2222。使用dddd來獲得desidered的輸出。

這裏工作的例子:

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>

0

對於格式化字符串中的escape characters,可以將字符包裝在方括號中。

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