1. 程式人生 > 程式設計 >JavaScript中時間格式化新思路toLocaleString()

JavaScript中時間格式化新思路toLocaleString()

目錄
  • 1、時間格式化常規思路
  • 2、時間格式化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();
    dateShttp://www.cppcns.com
tr = 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/11www.cppcns.com/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() 功能比較侷限一些。

到此這篇關於中時間格式化新思路toLocaleString()的文章就介紹到這了,更多相關Script toLocaleString()內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!