欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript日期字符串轉(zhuǎn)換為時(shí)間戳的5種方法總結(jié)

 更新時(shí)間:2024年09月12日 09:23:19   作者:還是大劍師蘭特  
在JavaScript中將日期字符串轉(zhuǎn)換為時(shí)間戳是一個(gè)常見(jiàn)需求,本文介紹了五種實(shí)現(xiàn)此轉(zhuǎn)換的方法,包括使用Date對(duì)象、正則表達(dá)式輔助解析、Date.parse()函數(shù)以及第三方庫(kù)如moment.js和date-fns,這些方法適用于不同格式的日期字符串,需要的朋友可以參考下

前言

將JavaScript中的日期字符串轉(zhuǎn)換為時(shí)間戳也是常見(jiàn)的需求,以下是五種實(shí)現(xiàn)這一轉(zhuǎn)換的方法,包括使用基本的Date對(duì)象、正則表達(dá)式輔助解析、以及一些現(xiàn)代JavaScript特性:

方法1:直接使用 Date 構(gòu)造函數(shù)

這是最基本的方法,適用于大多數(shù)標(biāo)準(zhǔn)日期格式的字符串。

function dateStringToTimestamp(str) {
  return new Date(str).getTime();
}

console.log(dateStringToTimestamp("2023-04-01T12:00:00Z")); // ISO 8601格式

方法2:處理非ISO標(biāo)準(zhǔn)格式

對(duì)于非ISO標(biāo)準(zhǔn)格式的日期字符串,可能需要手動(dòng)解析,這里以"年-月-日 時(shí):分:秒"為例:

function customDateStringToTimestamp(str) {
  const [year, month, day, hour, minute, second] = str.split(/[- :]/);
  return new Date(year, month - 1, day, hour, minute, second).getTime(); // 注意月份減1
}

console.log(customDateStringToTimestamp("2023-04-01 12:00:00"));

方法3:使用正則表達(dá)式輔助解析

對(duì)于格式固定的日期字符串,可以利用正則表達(dá)式提取各部分,適用于復(fù)雜或不規(guī)則格式。

function regexDateStringToTimestamp(str) {
  const match = str.match(/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})/);
  if (match) {
    return new Date(match[1], match[2] - 1, match[3], match[4], match[5], match[6]).getTime();
  }
  return null; // 或者拋出錯(cuò)誤處理
}

console.log(regexDateStringToTimestamp("2023-04-01T12:00:00"));

方法4:利用現(xiàn)代JavaScript特性(如Date.parse())

Date.parse()可以直接解析ISO 8601格式的字符串為時(shí)間戳,但要注意瀏覽器兼容性和解析的準(zhǔn)確性。

function dateStringToTimestampWithParse(str) {
  return Date.parse(str);
}

console.log(dateStringToTimestampWithParse("2023-04-01T12:00:00Z"));

方法5:使用第三方庫(kù)(如moment.js或date-fns)

盡管推薦原生方法,但第三方庫(kù)提供了更多便利和靈活性。

使用moment.js:

// 需要先引入moment.js庫(kù)
const moment = require('moment');
function dateStringToTimestampMoment(str) {
  return moment(str).valueOf();
}

console.log(dateStringToTimestampMoment("2023-04-01T12:00:00Z"));

使用date-fns:

// 需要先引入date-fns庫(kù)
import { parseISO, format } from 'date-fns';
function dateStringToTimestampDateFns(str) {
  return parseISO(str).getTime();
}

console.log(dateStringToTimestampDateFns("2023-04-01T12:00:00Z"));

請(qǐng)注意,上述方法在處理不同地區(qū)格式或非標(biāo)準(zhǔn)格式時(shí)可能需要適當(dāng)調(diào)整,特別是涉及到月份和日期的解析。

總結(jié)

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

相關(guān)文章

  • 使用hasOwnProperty時(shí)報(bào)錯(cuò)的解決方法

    使用hasOwnProperty時(shí)報(bào)錯(cuò)的解決方法

    hasOwnProperty這個(gè)方法是用來(lái)查找一個(gè)對(duì)象是否有某個(gè)屬性,且查找的屬性必須是對(duì)象本身的一個(gè)成員,但是不會(huì)去查找對(duì)象的原型鏈,文中介紹了使用示例代碼及使用時(shí)可能會(huì)遇到的問(wèn)題,對(duì)hasOwnProperty報(bào)錯(cuò)原因分析及解決方法感興趣的朋友一起看看吧
    2024-01-01
  • JavaScript實(shí)現(xiàn)美化滑塊效果

    JavaScript實(shí)現(xiàn)美化滑塊效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)美化滑塊效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 利用JS實(shí)現(xiàn)點(diǎn)擊按鈕后圖片自動(dòng)切換的簡(jiǎn)單方法

    利用JS實(shí)現(xiàn)點(diǎn)擊按鈕后圖片自動(dòng)切換的簡(jiǎn)單方法

    下面小編就為大家?guī)?lái)一篇利用JS實(shí)現(xiàn)點(diǎn)擊按鈕后圖片自動(dòng)切換的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • js實(shí)現(xiàn)文字跟隨鼠標(biāo)移動(dòng)而移動(dòng)的方法

    js實(shí)現(xiàn)文字跟隨鼠標(biāo)移動(dòng)而移動(dòng)的方法

    這篇文章主要介紹了js實(shí)現(xiàn)文字跟隨鼠標(biāo)移動(dòng)而移動(dòng)的方法,實(shí)例分析了javascript處理鼠標(biāo)事件及文字特效的技巧,需要的朋友可以參考下
    2015-02-02
  • Promise掃盲貼

    Promise掃盲貼

    這篇文章主要介紹了Promise掃盲貼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • javscript 數(shù)組扁平化的實(shí)現(xiàn)

    javscript 數(shù)組扁平化的實(shí)現(xiàn)

    這篇文章主要介紹了javscript 數(shù)組扁平化的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 使用layui 的layedit定義自己的toolbar方法

    使用layui 的layedit定義自己的toolbar方法

    今天小編就為大家分享一篇使用layui 的layedit定義自己的toolbar方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • JavaScript數(shù)組操作之旋轉(zhuǎn)二維數(shù)組

    JavaScript數(shù)組操作之旋轉(zhuǎn)二維數(shù)組

    這篇文章主要介紹了JavaScript數(shù)組操作之旋轉(zhuǎn)二維數(shù)組,主要從兩個(gè)方面展開(kāi)文章介紹,一是通過(guò)對(duì)數(shù)組的操作熟練度;二是(鏡像反轉(zhuǎn))比實(shí)現(xiàn)一更優(yōu),減少了空間復(fù)雜度,內(nèi)容介紹具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法

    javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法

    這篇文章主要介紹了javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法,實(shí)例分析了父窗口與子窗口之間傳遞參數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • 詳解js靜態(tài)檢查工具eslint配置文件

    詳解js靜態(tài)檢查工具eslint配置文件

    這篇文章主要介紹了js靜態(tài)檢查工具eslint配置文件的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-11-11

最新評(píng)論