2015-04-20 100 views
1

我試圖輸出字符串2015 - 04Apr - 15Wed如何格式化04Apr格式爲()

我最近來的是moment('2015-04-15').format('YYYY - MM MMM - DDddd'),它輸出2015 - 04 Apr - 15 Wed

如何刪除04Apr之間的空間而不調用format()兩次?

生成的字符串只能包含ASCII字符。

回答

1

您可以使用零寬度空格字符\u200B

document.getElementById("output").innerHTML= moment('2015-04-15').format('YYYY - MM\u200BMMM - DDddd')
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.2/moment.min.js"></script> 
 
<div id="output"></div>

注:
這個答案是要求只有ASCII字符的變化之前。我將它留給它,因爲它可能對其他需要顯示日期而不將數據發送回服務器的人有用。

+1

謝謝,我會使用它。但是使用這個unicode字符在某種程度上會感覺錯誤。我開始看到這樣的效果,即URL正在與生成的字符串組合以檢索文件,並且此Unicode字符也正在傳送到服務器。不好(對不起,將刪除此接受) –

1

爲什麼不多次調用格式的規則?這兩個都會返回預期的字符串。

var input = '2015-04-15'; 
var output = moment(input).format('YYYY - MM~MMMM - DDdddd').replace(/~/, ''); 

var input = '2015-04-15'; 
var output = moment(input).format('YYYY - MM') + moment(input).format('MMM - DDddd'); 
相關問題