javascript日期字符串轉(zhuǎn)換為時間戳的5種方法總結(jié)
前言
將JavaScript中的日期字符串轉(zhuǎn)換為時間戳也是常見的需求,以下是五種實現(xiàn)這一轉(zhuǎn)換的方法,包括使用基本的Date
對象、正則表達式輔助解析、以及一些現(xiàn)代JavaScript特性:
方法1:直接使用 Date 構(gòu)造函數(shù)
這是最基本的方法,適用于大多數(shù)標準日期格式的字符串。
function dateStringToTimestamp(str) { return new Date(str).getTime(); } console.log(dateStringToTimestamp("2023-04-01T12:00:00Z")); // ISO 8601格式
方法2:處理非ISO標準格式
對于非ISO標準格式的日期字符串,可能需要手動解析,這里以"年-月-日 時:分:秒"為例:
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:使用正則表達式輔助解析
對于格式固定的日期字符串,可以利用正則表達式提取各部分,適用于復(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; // 或者拋出錯誤處理 } console.log(regexDateStringToTimestamp("2023-04-01T12:00:00"));
方法4:利用現(xiàn)代JavaScript特性(如Date.parse())
Date.parse()
可以直接解析ISO 8601格式的字符串為時間戳,但要注意瀏覽器兼容性和解析的準確性。
function dateStringToTimestampWithParse(str) { return Date.parse(str); } console.log(dateStringToTimestampWithParse("2023-04-01T12:00:00Z"));
方法5:使用第三方庫(如moment.js或date-fns)
盡管推薦原生方法,但第三方庫提供了更多便利和靈活性。
使用moment.js:
// 需要先引入moment.js庫 const moment = require('moment'); function dateStringToTimestampMoment(str) { return moment(str).valueOf(); } console.log(dateStringToTimestampMoment("2023-04-01T12:00:00Z"));
使用date-fns:
// 需要先引入date-fns庫 import { parseISO, format } from 'date-fns'; function dateStringToTimestampDateFns(str) { return parseISO(str).getTime(); } console.log(dateStringToTimestampDateFns("2023-04-01T12:00:00Z"));
請注意,上述方法在處理不同地區(qū)格式或非標準格式時可能需要適當(dāng)調(diào)整,特別是涉及到月份和日期的解析。
總結(jié)
到此這篇關(guān)于javascript日期字符串轉(zhuǎn)換為時間戳的5種方法的文章就介紹到這了,更多相關(guān)js日期字符串轉(zhuǎn)換為時間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用layui 的layedit定義自己的toolbar方法
今天小編就為大家分享一篇使用layui 的layedit定義自己的toolbar方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09JavaScript數(shù)組操作之旋轉(zhuǎn)二維數(shù)組
這篇文章主要介紹了JavaScript數(shù)組操作之旋轉(zhuǎn)二維數(shù)組,主要從兩個方面展開文章介紹,一是通過對數(shù)組的操作熟練度;二是(鏡像反轉(zhuǎn))比實現(xiàn)一更優(yōu),減少了空間復(fù)雜度,內(nèi)容介紹具有一定的參考價值,需要的小伙伴可以參考一下2022-04-04javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法
這篇文章主要介紹了javascript瀏覽器窗口之間傳遞數(shù)據(jù)的方法,實例分析了父窗口與子窗口之間傳遞參數(shù)的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-01-01