簡體   English   中英

時刻獲取在語言環境格式化的日期

[英]moment get date formatted on locale

從文檔設置格式為l的那一刻返回格式為“M / D / YYYY”。 有沒有辦法根據區域設置以D/MM/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 我不確定它是否適用於每個語言環境,但它為fren-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM