最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript中將YYYYMMDD轉(zhuǎn)換為日期的三種方法

 更新時(shí)間:2025年08月07日 09:21:11   作者:BillKu  
這篇文章主要介紹了JavaScript中將YYYYMMDD字符串轉(zhuǎn)換為日期對(duì)象的三種方法:手動(dòng)拆分、正則表達(dá)式及ISO8601格式(推薦),需注意月份從0開始,時(shí)區(qū)處理差異,建議驗(yàn)證有效性,優(yōu)先使用ISO格式以確保標(biāo)準(zhǔn)兼容性,需要的朋友可以參考下

在 JavaScript 中,將 "20250806"(格式為 YYYYMMDD)轉(zhuǎn)換為日期對(duì)象,可以通過(guò)以下步驟實(shí)現(xiàn):

方法 1:手動(dòng)拆分字符串

const dateStr = "20250806";

// 拆分字符串獲取年、月、日(注意:月份從 0 開始計(jì)數(shù))
const year = parseInt(dateStr.substring(0, 4));
const month = parseInt(dateStr.substring(4, 6)) - 1; // 月份減 1
const day = parseInt(dateStr.substring(6, 8));

// 創(chuàng)建 Date 對(duì)象
const date = new Date(year, month, day);

console.log(date); // 輸出: Wed Aug 06 2025 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)

方法 2:使用正則表達(dá)式

const dateStr = "20250806";

// 正則匹配提取年、月、日
const [, year, month, day] = dateStr.match(/^(\d{4})(\d{2})(\d{2})$/);

// 創(chuàng)建 Date 對(duì)象(月份需減 1)
const date = new Date(year, month - 1, day);

console.log(date); // 同上

方法 3:使用 ISO 8601 格式(推薦)

const dateStr = "20250806";

// 轉(zhuǎn)換為 YYYY-MM-DD 格式(ISO 8601)
const isoStr = `${dateStr.slice(0, 4)}-${dateStr.slice(4, 6)}-${dateStr.slice(6, 8)}`;

// 直接通過(guò)字符串創(chuàng)建 Date 對(duì)象
const date = new Date(isoStr);

console.log(date); // 同上(注意時(shí)區(qū)差異可能影響輸出)

關(guān)鍵說(shuō)明:

月份從 0 開始

JavaScript 的 Date 構(gòu)造函數(shù)中,月份是 0(1月)到 11(12月),所以需要將原始字符串中的月份減 1。

時(shí)區(qū)問(wèn)題

const utcDate = new Date(Date.UTC(year, month, day));

方法 1 和 2 創(chuàng)建的日期基于 本地時(shí)區(qū)(如 GMT+0800)。

方法 3(ISO 格式)創(chuàng)建的日期可能被解析為 UTC 時(shí)間,再轉(zhuǎn)換為本地時(shí)區(qū)(不同瀏覽器可能有差異)。
如果需要 UTC 時(shí)間,請(qǐng)用:

驗(yàn)證有效性
建議檢查生成的日期是否有效:

if (isNaN(date.getTime())) {
  console.error("無(wú)效日期");
}

最終選擇:

推薦方法 3(ISO 8601 格式),代碼簡(jiǎn)潔且符合標(biāo)準(zhǔn)。

如果需兼容舊瀏覽器,可選方法 1(手動(dòng)拆分)。

export const formatDate = (date: string | Date | number, format = "YYYY-MM-DD HH:mm:ss") => {
  let resultTime = "";
  try {
    // 支持 ISO 8601 格式,日期格式為 YYYYMMDD,如:20250806
    if ((typeof date === "string" && date.length === 8) || (typeof date === "number" && date.toString().length === 8)) {
      if (typeof date === "number") {
        date = date.toString();
      }
      date = `${date.slice(0, 4)}-${date.slice(4, 6)}-${date.slice(6, 8)}`;
    }
    resultTime = dayjs(date).format(format);
  } catch (error) {}
  // 處理無(wú)效日期
  return resultTime === "Invalid Date" ? "" : resultTime;
};

到此這篇關(guān)于JavaScript中將YYYYMMDD轉(zhuǎn)換為日期的三種方法的文章就介紹到這了,更多相關(guān)JavaScript YYYYMMDD轉(zhuǎn)日期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

明溪县| 象山县| 金塔县| 海丰县| 阳春市| 五台县| 雅安市| 鞍山市| 康马县| 香港 | 贵港市| 吉安县| 武山县| 南投县| 宜良县| 南阳市| 五寨县| 东辽县| 海伦市| 陆河县| 仁怀市| 临桂县| 山东| 新野县| 孟津县| 天柱县| 宜宾县| 景洪市| 定陶县| 玛曲县| 女性| 贵德县| 广水市| 淳化县| 遵义市| 郓城县| 和林格尔县| 樟树市| 喀喇沁旗| 武义县| 玉门市|