最新国产好看的视频,伊人天堂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開(kāi)始,時(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 開(kāi)始計(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 開(kāi)始

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)論

龙南县| 清流县| 垫江县| 资源县| 江津市| 乌审旗| 武功县| 田东县| 保亭| 精河县| 安化县| 霍城县| 利辛县| 神木县| 岱山县| 姜堰市| 松江区| 闵行区| 遂平县| 松滋市| 嘉祥县| 马尔康县| 民和| 全州县| 湟中县| 陆丰市| 朝阳区| 阆中市| 上高县| 万州区| 来凤县| 安阳市| 镇远县| 曲水县| 商南县| 铜川市| 葫芦岛市| 同心县| 洛南县| 开阳县| 洞头县|