亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JavaScript之通過(guò)年月獲取月份的天數(shù)、日期格式化、時(shí)間、補(bǔ)零、Date、toLocaleString、Intl、DateTimeFormat、format(問(wèn)題總結(jié))

 更新時(shí)間:2024年03月06日 09:57:21   作者:牧碼人MJ682517  
這篇文章主要介紹了JavaScript之通過(guò)年月獲取月份的天數(shù)、日期格式化、時(shí)間、補(bǔ)零、Date、toLocaleString、Intl、DateTimeFormat、format的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

版本一

function createDays(year = 2024, month = 2) {
    let sDate = new Date(year, month - 1, 1),
        eDate = new Date(year, month, 0),
        days = [];
    sDate = sDate.getDate();
    eDate = eDate.getDate();
    for (let i = sDate; i <= eDate; i++) {
        let ds = new Date(year, month - 1, i);
        ds = ds.toLocaleString("en-US", { timeZone: "Asia/Shanghai" });
        ds = ds.split(',')[0];
        ds = ds.split('/');
        [ds[0], ds[1], ds[2]] = [ds[2], ('0' + ds[0]).slice(-2), ('0' + ds[1]).slice(-2)];
        ds = ds.toString();
        ds = ds.replace(/,/g, '-');
        days.push(ds);
    }
    return days;
}
console.log(createDays(2023, 1));
console.log(createDays(2023, 2));
console.log(createDays());

版本二

function createDays(year = 2024, month = 2) {
    let sDate = new Date(year, month - 1, 1),
        eDate = new Date(year, month, 0),
        formatter = new Intl.DateTimeFormat('default', {
            timeZone: 'Asia/Shanghai',
            year: 'numeric',
            month: 'numeric',
            day: 'numeric'
        }),
        zeroFill = (val) => ('00' + val).slice(-2),
        days = [];
    sDate = sDate.getDate();
    eDate = eDate.getDate();
    for (let i = sDate; i <= eDate; i++) {
        let ds = new Date(year, month - 1, i);
        ds = formatter.format(ds);
        ds = ds.split('/');
        ds[1] = zeroFill(ds[1]);
        ds[2] = zeroFill(ds[2]);
        ds = ds.toString();
        ds = ds.replace(/,/g, '-');
        days.push(ds);
    }
    return days;
}
console.log(createDays(2023, 1));
console.log(createDays(2023, 2));
console.log(createDays());

版本三

function createDays(year = 2024, month = 2) {
    let sDate = new Date(year, month - 1, 1),
        eDate = new Date(year, month, 0),
        zeroFill = (val) => ('00' + val).slice(-2),
        days = [];
    sDate = sDate.getDate();
    eDate = eDate.getDate();
    for (let i = sDate; i <= eDate; i++) {
        let ds = new Date(year, month - 1, i);
        ds = ds.toLocaleString(
            "en-US",
            {
                timeZone: "Asia/Shanghai",
                year: 'numeric',
                month: 'numeric',
                day: 'numeric'
            }
        );
        ds = ds.split('/');
        [ds[0], ds[1], ds[2]] = [ds[2], zeroFill(ds[0]), zeroFill(ds[1])];
        ds = ds.toString();
        ds = ds.replace(/,/g, '-');
        days.push(ds);
    }
    return days;
}
console.log(createDays(2023, 1));
console.log(createDays(2023, 2));
console.log(createDays());

效果圖

解析

Date

在JavaScript中,Date對(duì)象用于處理日期和時(shí)間。Date構(gòu)造函數(shù)可以接受多種參數(shù),這些參數(shù)用于初始化Date對(duì)象,從而表示特定的日期和時(shí)間。

無(wú)參數(shù)
new Date(): 創(chuàng)建一個(gè)表示當(dāng)前日期和時(shí)間的Date對(duì)象。

整數(shù)參數(shù)
new Date(milliseconds): 以從1970年1月1日00:00:00 UTC起經(jīng)過(guò)的毫秒數(shù)來(lái)創(chuàng)建日期對(duì)象。

日期字符串參數(shù)
new Date(dateString): 使用特定格式的字符串表示的日期和時(shí)間來(lái)創(chuàng)建Date對(duì)象。
例如: new Date("2024-03-05T12:00:00")

年、月、日等參數(shù)
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]): 使用特定的年、月、日等信息來(lái)創(chuàng)建Date對(duì)象。
月份從0開(kāi)始,所以一月是0,二月是1,以此類推。

多個(gè)整數(shù)參數(shù)
new Date(year, monthIndex, day): 使用年、月、日創(chuàng)建Date對(duì)象。

ISO 格式字符串參數(shù)
new Date(ISOString): 使用ISO格式的字符串(符合規(guī)范的日期時(shí)間字符串)來(lái)創(chuàng)建Date對(duì)象。
例如: new Date(“2024-03-05T12:00:00Z”)

其他參數(shù)
還可以根據(jù)需要提供其他參數(shù),如小時(shí)、分鐘、秒和毫秒。

// 創(chuàng)建一個(gè)表示當(dāng)前日期和時(shí)間的對(duì)象
var currentDate = new Date();
// 使用毫秒數(shù)創(chuàng)建一個(gè)日期對(duì)象
var dateFromMilliseconds = new Date(1629194400000);
// 使用字符串創(chuàng)建一個(gè)日期對(duì)象
var dateFromString = new Date("2024-03-05T12:00:00");
// 使用年、月、日創(chuàng)建一個(gè)日期對(duì)象
var dateFromYMD = new Date(2024, 2, 5); // 月份從0開(kāi)始,所以3月是2
// 使用 ISO 格式字符串創(chuàng)建一個(gè)日期對(duì)象
var dateFromISOString = new Date("2024-03-05T12:00:00Z");

new Date(year, month - 1, 1);
year表示年份
month-1表示月份,這里減去1是因?yàn)镴avaScript中的月份是從0開(kāi)始的(0表示一月,1表示二月,以此類推)
1表示日期,這里是月份的第一天
所以,這一行代碼創(chuàng)建了一個(gè)Date對(duì)象,表示給定年份和月份的第一天。

new Date(year, month, 0);
year表示年份
month表示月份
0表示日期,但在JavaScript中,當(dāng)日期為0時(shí),它表示前一個(gè)月的最后一天
因此,這一行代碼創(chuàng)建了一個(gè)Date對(duì)象,表示給定年份和月份的最后一天。

toLocaleString

在JavaScript中,toLocaleString是用于將數(shù)字或日期格式化為本地化字符串的方法。它可以接受一些可選的參數(shù),以便更精確地控制輸出格式。

locales(可選)
類型: 字符串或字符串?dāng)?shù)組
描述: 表示一個(gè)或多個(gè)區(qū)域設(shè)置代碼,用于指定所需的語(yǔ)言和地區(qū)。如果傳遞多個(gè)區(qū)域設(shè)置,瀏覽器將按照列表的順序查找最佳匹配。

var number = 123456.789;
console.log(number.toLocaleString('en-US'));
// 輸出: 123,456.789 (使用美國(guó)英語(yǔ)格式)
console.log(number.toLocaleString('de-DE'));
// 輸出: 123.456,789 (使用德國(guó)德語(yǔ)格式)

options(可選)
類型: 對(duì)象
描述: 一個(gè)包含以下屬性的對(duì)象,用于更詳細(xì)地配置格式:
style: 可以是’decimal’(默認(rèn)),‘currency’,或’percent’。
currency: 當(dāng)style為’currency’時(shí),表示貨幣的ISO 4217代碼。
minimumIntegerDigits: 整數(shù)部分的最小位數(shù)。
minimumFractionDigits: 小數(shù)部分的最小位數(shù)。
maximumFractionDigits: 小數(shù)部分的最大位數(shù)。
minimumSignificantDigits: 顯著數(shù)字的最小位數(shù)。
maximumSignificantDigits: 顯著數(shù)字的最大位數(shù)。

var number = 123456.789;
var options = {
  style: 'currency',
  currency: 'EUR',
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
};
console.log(number.toLocaleString('de-DE', options)); 
// 輸出: €123,456.79 (使用德國(guó)德語(yǔ)格式,貨幣為歐元,小數(shù)位數(shù)為兩位)

dateStyle和timeStyle(可選)
類型: 字符串
描述: 用于指定日期和/或時(shí)間的樣式,可以是"full"、“long”、“medium"或"short”。

var date = new Date();
var options = { dateStyle: 'full', timeStyle: 'short' };
console.log(date.toLocaleString('en-US', options));
// 輸出: Saturday, March 5, 2024 at 1:30 PM (使用美國(guó)英語(yǔ)格式)

這些參數(shù)可以單獨(dú)使用,也可以一起結(jié)合使用,以滿足特定的本地化需求。根據(jù)需要選擇適當(dāng)?shù)膮?shù),并根據(jù)具體情況調(diào)整其值。

Intl

const now = new Date();
// 通過(guò) Intl.DateTimeFormat 構(gòu)造函數(shù)創(chuàng)建一個(gè)日期格式化對(duì)象,設(shè)置 timeZone 為 'Asia/Shanghai'(中國(guó)時(shí)區(qū))
const formatter = new Intl.DateTimeFormat('default', {
  timeZone: 'Asia/Shanghai',
  year: 'numeric',
  month: 'numeric',
  day: 'numeric',
  hour: 'numeric',
  minute: 'numeric',
  second: 'numeric',
});
// 使用格式化對(duì)象將日期對(duì)象轉(zhuǎn)換為字符串
const formattedDate = formatter.format(now);
console.log(formattedDate);

到此這篇關(guān)于JavaScript之通過(guò)年月獲取月份的天數(shù)、日期格式化、時(shí)間、補(bǔ)零、Date、toLocaleString、Intl、DateTimeFormat、format的文章就介紹到這了,更多相關(guān)js獲取月份的天數(shù)日期格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信JSSDK上傳圖片

    微信JSSDK上傳圖片

    做過(guò)微信開(kāi)發(fā)的都知道,在部分android機(jī)型里微信不支持網(wǎng)頁(yè)上傳圖片的,這是由于這些機(jī)型的文件上傳存在內(nèi)存泄漏,會(huì)導(dǎo)致微信閃退,所以微信內(nèi)置瀏覽器將文件上傳屏蔽,本篇文章給大家介紹使用微信jssdk如何上傳圖片,需要的朋友可以關(guān)注下
    2015-08-08
  • 一文解析JavaScript模塊構(gòu)建的三種方式

    一文解析JavaScript模塊構(gòu)建的三種方式

    在現(xiàn)代Web開(kāi)發(fā)中,JavaScript庫(kù)的構(gòu)建和打包是一個(gè)至關(guān)重要的環(huán)節(jié),不同的構(gòu)建方式可以影響到庫(kù)的性能、可維護(hù)性和適用性,本文將深入剖析三種主要的JavaScript模塊構(gòu)建方式:CommonJS、ES模塊和AMD,我們將深入探討它們的工作原理、適用場(chǎng)景以及示例代碼
    2023-08-08
  • js控制frameSet示例

    js控制frameSet示例

    修改frameset的cols屬性來(lái)達(dá)到修改各個(gè)頁(yè)面所占的寬高,例如隱藏當(dāng)前frame頁(yè)等等,感興趣的朋友可以了解下
    2013-09-09
  • JS組件中bootstrap multiselect兩大組件較量

    JS組件中bootstrap multiselect兩大組件較量

    這篇文章主要介紹了JS組件中bootstrap multiselect兩大組件,兩者之間的較量,優(yōu)缺點(diǎn)比較,感興趣的小伙伴們可以參考一下
    2016-01-01
  • JS實(shí)現(xiàn)滑動(dòng)條案例

    JS實(shí)現(xiàn)滑動(dòng)條案例

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)滑動(dòng)條案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 基于Next.js實(shí)現(xiàn)在線Excel的詳細(xì)代碼

    基于Next.js實(shí)現(xiàn)在線Excel的詳細(xì)代碼

    Next.js是一款React 開(kāi)發(fā)框架,它可以幫助我們構(gòu)建 React 應(yīng)用程序。作為一個(gè)輕量級(jí)React服務(wù)端渲染應(yīng)用框架,這篇文章主要介紹了基于?Next.js實(shí)現(xiàn)在線Excel,需要的朋友可以參考下
    2022-08-08
  • JavaScript、C# URL編碼、解碼總結(jié)

    JavaScript、C# URL編碼、解碼總結(jié)

    這篇文章主要介紹了JavaScript、C# URL編碼總結(jié),注意包括了encodeURI、decodeURI、encodeURIComponent、decodeURIComponent等使用需要的朋友可以參考下
    2017-01-01
  • js fromCharCode輸出26個(gè)字母的代碼

    js fromCharCode輸出26個(gè)字母的代碼

    這個(gè)代碼比較簡(jiǎn)單主要是用到了fromCharCode的特性
    2008-11-11
  • JavaScript查看數(shù)據(jù)返回值的方法

    JavaScript查看數(shù)據(jù)返回值的方法

    console.log()、alert()?都是JavaScript中用于在開(kāi)發(fā)過(guò)程中輸出信息或向用戶顯示消息的不同方法,它們的主要區(qū)別在于目的、使用場(chǎng)景以及展示方式,本文將給大家介紹JavaScript?中怎么看數(shù)據(jù)返回值,需要的朋友可以參考下
    2024-07-07
  • sso跨域?qū)慶ookie的一段js腳本(推薦)

    sso跨域?qū)慶ookie的一段js腳本(推薦)

    下面小編就為大家?guī)?lái)一篇sso跨域?qū)慶ookie的一段js腳本(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05

最新評(píng)論