我問了一個關於通過Moment.js meridiem函數格式化AM/PM的問題。順便說一句,我使用的版本2.9在Moment.js中格式化longDateFormat
我成功地加入時期的AM/PM的輸入,並使用該
moment.locale('en', {
meridiem: function(hour, minute, isLower) {
if (hour < 12) {
return isLower ? 'a.m.' : 'A.M.';
} else {
return isLower ? 'p.m' : 'P.M.';
}
}
});
現在我遇到了一個問題,採用小寫的,我需要做同樣的longDateFormat
字符串的格式類型。
的字符串是"h:mm:ss a"
和返回時間將當前時間,但有一個大寫的AM/PM
我需要返回當前時間,但一個輸入格式應下午上午
在當下docs longDateFormat是一個對象不是函數我怎麼會去格式化meridiem在這裏?
******************** EDIT ****************
下面是一個例子我的問題。
meridiem設置正常工作與一個h z輸入。它是小寫字母並有句點。
meridiem設置不會影響longDateFormat字符串。上午/下午總是大寫,沒有句點。無論我是否改變最初應用的meridiem設置。我該如何改變這一點?
{{last_update|date:"MMMM d, y 'at' h:mm:ss a"}}.
Last updated on July 6, 2016 at 8:25:00 AM.
感謝
答案在你以前的問題:)。如果您使用[接受的答案](http://stackoverflow.com/a/38204712/4131048),您將始終有** a.m./p.m。**小寫。如果您使用[我的答案](http://stackoverflow.com/a/38204793/4131048),您將有** a.m./p.m。**案件感知(取決於格式中的「a」或「A」)。如果你設置了'A'(反向默認邏輯),你的代碼片段返回** AM/PM **,如果你指定格式爲'a'並且** a.m./p.m。** – VincenzoC
Hi @VincenzoC我沒有關注你。即使設置了meridiem,longDateFormat也不正確。longDateFormat a返回一個始終大寫的AM PM,不包含句點 – gwar9
如果刪除'meridiem'定製,會發生什麼情況?在我看來,由於meridiem函數中的三元運算符,您將得到** AM/PM **大寫。當格式包含小寫'a'時,'isLowerCase'爲'true',而當您使用大寫'A'時,'isLowerCase'爲'false'。刪除'isLowerCase'檢查應該可以解決您的問題。也許你可以添加一個片段,重現你的問題,進一步澄清你的問題。 – VincenzoC