在前端開發中,我們經常需要把字符串轉換成時間戳。時間戳是一個整數,代表距離“1970年1月1日 00:00:00 UTC”的秒數。JavaScript提供了很多方便的方法來將日期格式的字符串轉換成時間戳,讓我們來一一介紹。
## Date.parse()方法
Date.parse()方法是JavaScript內置的方法,可以將日期格式的字符串轉成時間戳。下面是一個使用Date.parse()方法的例子:
//將日期格式的字符串轉成時間戳
var timestamp = Date.parse("2019/12/01");
console.log(timestamp); //1575158400000
以上例子中,使用Date.parse()方法將字符串"2019/12/01"轉換成時間戳,結果為1575158400000。
需要注意的是,Date.parse()方法的參數格式必須為“月/日/年”或者“年-月-日”,否則會返回NaN。同時,返回的時間戳是UTC時間戳,需要手動加上時區偏移才能得到本地時間的時間戳。
## Date對象的valueOf()方法和getTime()方法
在JavaScript中,Date對象有2個方法可以獲取時間戳:valueOf()和getTime()。這2個方法的返回值相同,都是距離“1970年1月1日 00:00:00 UTC”的毫秒數。下面是一個使用valueOf()方法的例子://使用Date對象的valueOf()方法獲取時間戳
var date = new Date("2019/12/01");
var timestamp = date.valueOf();
console.log(timestamp); //1575158400000
以上例子中,首先創建了一個Date對象,然后使用valueOf()方法獲取該對象的時間戳。
另一種獲取時間戳的方法是getTime(),用法和valueOf()一樣。下面是一個使用getTime()方法的例子://使用Date對象的getTime()方法獲取時間戳
var date = new Date("2019/12/01");
var timestamp = date.getTime();
console.log(timestamp); //1575158400000
## moment.js庫
moment.js是一款JavaScript日期處理庫,提供了豐富的日期格式化、時間戳計算、日期計算等功能。當需要處理復雜的日期操作時,moment.js可以讓你事半功倍。
下面是使用moment.js庫將日期格式字符串轉換成時間戳的例子://使用moment.js庫將日期字符串轉成時間戳
var timestamp = moment("2019/12/01", "YYYY/MM/DD").valueOf();
console.log(timestamp); //1575158400000
以上例子中,通過調用moment()方法創建一個moment對象,然后使用valueOf()方法獲取時間戳。
需要注意的是,moment.js庫的使用需要先引入moment.js文件,可以從官網http://momentjs.com/下載。
## 總結
本文介紹了3種將日期格式字符串轉換成時間戳的方法,分別是Date.parse()方法、Date對象的valueOf()方法和getTime()方法,以及moment.js庫。在前端開發中,經常需要進行日期格式的處理,掌握這些方法可以讓你更輕松地完成日期相關的任務。