JavaScript中時間格式化新思路toLocaleString()
研究Object
對象的時候,看到瞭 toLocaleString()
這個方法可以很簡單的實現時間格式化。
1、時間格式化常規思路
正常思路是通過Date的實例依次獲取年月日等,例如一個簡單的格式化例子:
Date.prototype.format = function(dateStr) { let date = new Date(); let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate().toString().padStart(2, "0"); let hour = date.getHours(); let minute = date.getMinutes(); let second = date.getSeconds(); dateStr = dateStr.replace("年", year) .replace("月", month) .replace("日", day) .replace("小時", hour) .replace("分鐘", minute) .replace("秒", second); return dateStr; }; // 使用上面的方法 console.log(new Date().format("年-月-日")); // 2021-11-04
2、時間格式化toLocaleString()
toLocaleString()
和 toString()
類似,也是返回對象的字符串,不過會根據本地化的執行環境處理。尤其是對時間對象的支持,可以轉成一定的格式。
// 日期,輸出當前時間 let date = new Date(); // 這個是格林威治時間格式 console.log(date.toString()); // Thu Nov 04 2021 10:11:35 GMT+0800 (中國標準時間) // 這個是本地時間格式 console.log(date.toLocaleString()); // 2021/11/4 上午10:18:08
新版本瀏覽器可以支持 locales 和 options 參數:
let date = new Date(); // 24小時制 let options = { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', hour12: false }; console.log(date.toLocaleString("zh-CN", options)); // 2021/11/4 10:33:01
獲取星期幾:
let date = new Date(); let options = { weekday: "long" }; console.log(date.toLocaleString("zh-CN", options)); // 星期四
options
更多的參數可以參考文章尾部提供的鏈接。
缺陷:
如果要顯示 x年x月x日 這樣的格式,目前沒有找合適的寫法,相對來講 toLocaleString() 功能比較局限一些。
到此這篇關於JavaScript
中時間格式化新思路toLocaleString()
的文章就介紹到這瞭,更多相關JavaScript toLocaleString()
內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!