[英]moment get date formatted on locale
從文檔設置格式為l
的那一刻返回格式為“M / D / YYYY”。 有沒有辦法根據區域設置以D/M
或M/D
格式獲取日期? 這是我現在的代碼。
var locale = window.navigator.userLanguage || window.navigator.language;
moment.locale(locale);
var momentTime = moment(d);
console.log(momentTime.format('l'));
例如,如果語言環境是French
則日期應以D/M
格式返回,如果語言環境為english-us
,則應自動以M/D
格式返回日期。
執行所需操作的一種方法是獲取本地化的longDateFormat
,然后使用正則表達式刪除year部分。
這里使用一個工作示例localeData
,然后longDateFormat
。 我不確定它是否適用於每個語言環境,但它為fr
和en-us
(可能還有許多其他語言)提供了正確的結果。
var locale = window.navigator.userLanguage || window.navigator.language; moment.locale(locale); // Get locale data var localeData = moment.localeData(); var format = localeData.longDateFormat('L') // Remove year part format = format.replace(/.YYYY/, ''); var momentTime = moment(); console.log(momentTime.format(format));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment-with-locales.min.js"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.