JavaScript中時(shí)間格式化新思路toLocaleString()
研究Object
對(duì)象的時(shí)候,看到了 toLocaleString()
這個(gè)方法可以很簡(jiǎn)單的實(shí)現(xiàn)時(shí)間格式化。
1、時(shí)間格式化常規(guī)思路
正常思路是通過(guò)Date的實(shí)例依次獲取年月日等,例如一個(gè)簡(jiǎn)單的格式化例子:
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("小時(shí)", hour) .replace("分鐘", minute) .replace("秒", second); return dateStr; }; // 使用上面的方法 console.log(new Date().format("年-月-日")); // 2021-11-04
2、時(shí)間格式化toLocaleString()
toLocaleString()
和 toString()
類(lèi)似,也是返回對(duì)象的字符串,不過(guò)會(huì)根據(jù)本地化的執(zhí)行環(huán)境處理。尤其是對(duì)時(shí)間對(duì)象的支持,可以轉(zhuǎn)成一定的格式。
// 日期,輸出當(dāng)前時(shí)間 let date = new Date(); // 這個(gè)是格林威治時(shí)間格式 console.log(date.toString()); // Thu Nov 04 2021 10:11:35 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) // 這個(gè)是本地時(shí)間格式 console.log(date.toLocaleString()); // 2021/11/4 上午10:18:08
新版本瀏覽器可以支持 locales 和 options 參數(shù):
let date = new Date(); // 24小時(shí)制 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
更多的參數(shù)可以參考文章尾部提供的鏈接。
缺陷:
如果要顯示 x年x月x日 這樣的格式,目前沒(méi)有找合適的寫(xiě)法,相對(duì)來(lái)講 toLocaleString() 功能比較局限一些。
到此這篇關(guān)于JavaScript
中時(shí)間格式化新思路toLocaleString()
的文章就介紹到這了,更多相關(guān)JavaScript toLocaleString()
內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序手勢(shì)操作之單觸摸點(diǎn)與多觸摸點(diǎn)
這篇文章主要介紹了微信小程序手勢(shì)操作之單觸摸點(diǎn)與多觸摸點(diǎn)的相關(guān)資料,需要的朋友可以參考下2017-03-03微信小程序教程之本地圖片上傳(leancloud)實(shí)例詳解
這篇文章主要介紹了微信小程序教程之本地圖片上傳(leancloud)實(shí)例詳解的相關(guān)資料,這里舉例說(shuō)明該如何實(shí)現(xiàn)和實(shí)例代碼,文章一一表述,需要的朋友可以參考下2016-11-11umi插件開(kāi)發(fā)仿dumi項(xiàng)目加載markdown文件實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了umi插件開(kāi)發(fā)仿dumi項(xiàng)目加載markdown文件實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01dotenv源碼解讀從.env文件中讀取環(huán)境變量
這篇文章主要為大家介紹了dotenv源碼解讀從.env文件中讀取環(huán)境變量示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12webpack5之output和devServer的publicPath區(qū)別示例詳解
這篇文章主要為大家介紹了webpack5之output和devServer的publicPath區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12詳解無(wú)界微前端是如何渲染子應(yīng)用的demo解析
這篇文章主要為大家介紹了詳解無(wú)界微前端是如何渲染子應(yīng)用demo解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04umi插件開(kāi)發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了umi插件開(kāi)發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01