JavaScript中的時間戳是指從1970年1月1日00:00:00 UTC(協(xié)調(diào)世界時)開始經(jīng)過的秒數(shù)。在程序中經(jīng)常會使用到時間戳,因為它可以方便的進(jìn)行時間的計算、排序和比較。然而在實際業(yè)務(wù)中,我們更需要的是將時間戳轉(zhuǎn)化為具體的日期字符串。接下來,我將詳細(xì)介紹如何實現(xiàn)JavaScript中的時間戳轉(zhuǎn)換為日期。
我們可以使用Date對象來實現(xiàn)將時間戳轉(zhuǎn)換為日期。具體的步驟如下:
let timestamp = 1580152482; //時間戳,秒數(shù) let date = new Date(timestamp*1000); //將秒數(shù)轉(zhuǎn)化為Date對象 let year = date.getFullYear(); //獲取年份 let month = date.getMonth()+1; //獲取月份(需要加1,因為getMonth()返回值從0開始) let day = date.getDate(); //獲取日期 let hour = date.getHours(); //獲取小時數(shù) let minute = date.getMinutes(); //獲取分鐘數(shù) let second = date.getSeconds(); //獲取秒數(shù)
以上代碼中,我們首先定義了一個時間戳(timestamp),單位為秒。之后使用new Date()方法將其轉(zhuǎn)化為Date對象。由于JavaScript中Date對象的參數(shù)需要傳入毫秒數(shù),因此我們在傳入時間戳?xí)r需要將其乘以1000。之后就可以分別使用getFullYear()、getMonth()、getDate()等方法獲取到具體的年、月、日、小時、分鐘和秒數(shù)。
接下來,我們可以將獲取到的年、月、日等組合成一個完整的日期字符串。代碼如下:
let dateString = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second; console.log(dateString); // 輸出:2020-01-27 14:48:02
以上代碼中,我們使用了字符串拼接的方式將獲取到的年、月、日、小時、分鐘和秒數(shù)組合成一個完整的日期字符串。
在實際業(yè)務(wù)中,我們可能會遇到各種各樣的時間格式要求。例如想要將日期按照年月日分隔符為“/”的格式輸出,或者只需要獲取某個日期的年月日等部分。針對這些需求,我們可以使用JavaScript中的時間格式化庫moment.js來實現(xiàn)。moment.js提供了豐富的時間格式化選項,可以方便快捷的實現(xiàn)各種時間格式化的需求。
下面是一個通過moment.js將時間戳格式化為年月日的示例代碼:
let timestamp = 1580152482; let date = moment.unix(timestamp).format('YYYY/MM/DD'); console.log(date); // 輸出:2020/01/27
以上代碼中,我們使用了moment.js提供的unix()方法將時間戳轉(zhuǎn)化為秒數(shù),并通過format()方法將其格式化為年月日。其中,'YYYY'代表年份,'MM'代表月份,'DD'代表日期。通過這樣的方式,我們可以方便快捷的實現(xiàn)各種時間戳的轉(zhuǎn)換需求。
綜上所述,JavaScript中時間戳的轉(zhuǎn)換并不困難,只需要使用Date對象或者結(jié)合時間格式化庫moment.js就可以方便快捷的實現(xiàn)各種格式化需求。