程序語言中時(shí)間戳格式轉(zhuǎn)換為日期時(shí)間
$datetime = date('Y-m-d H:i:s', $timestamp);
Date date = new Date(timestamp * 1000L);
import datetime; dt = datetime.datetime.fromtimestamp(timestamp)
const date = new Date(timestamp * 1000);
import pandas as pd; dt = pd.to_datetime(timestamp, unit='s')
datetime = Time.at(timestamp)
DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
datetime('1970-01-01') + seconds(timestamp)
SELECT FROM_UNIXTIME(timestamp);
SELECT TO_DATE('1970-01-01', 'YYYY-MM-DD') + NUMTODSINTERVAL(timestamp, 'SECOND') FROM DUAL;
=TEXT(DATE(1970,1,1)+timestamp/86400, "yyyy-mm-dd hh:mm:ss")
Unix 時(shí)間戳(timestamp)是什么?
Unix 時(shí)間戳(也稱為 Unix 時(shí)間或 Epoch 時(shí)間)是一種以秒為單位跟蹤時(shí)間的方式,從 1970 年 1 月 1 日 00:00:00 UTC 開始計(jì)算。這個(gè)時(shí)間點(diǎn)被稱為 Unix 紀(jì)元。
它在計(jì)算中是一個(gè)基本概念,因?yàn)樗峁┝艘环N簡單且一致的方法,可以在不同的系統(tǒng)和平臺(tái)上表示時(shí)間。Unix 時(shí)間戳通常用于記錄事件、計(jì)算持續(xù)時(shí)間以及在各種應(yīng)用程序之間同步時(shí)間。
由于它是基于 UTC 的,Unix 時(shí)間戳不考慮時(shí)區(qū)或夏令時(shí)的變化。要將 Unix 時(shí)間戳轉(zhuǎn)換為本地時(shí)間,需要加上或減去適當(dāng)?shù)臅r(shí)區(qū)偏移量。
歷史上,Unix 時(shí)間戳以 32 位整數(shù)形式存儲(chǔ),只能表示到 2038 年 1 月 19 日的日期。現(xiàn)代系統(tǒng)使用 64 位整數(shù)來處理未來的日期,從而避免了 2038 年問題
。
許多編程語言都提供了內(nèi)置函數(shù)來處理 Unix 時(shí)間戳,這使得在人類可讀日期和 Unix 時(shí)間之間進(jìn)行轉(zhuǎn)換變得非常容易。例如,JavaScript 的 Date.now()
和 Python 的 time.time()
都返回當(dāng)前時(shí)間作為 Unix 時(shí)間戳。
為什么要將時(shí)間戳轉(zhuǎn)換為可讀的日期時(shí)間格式

時(shí)間戳對(duì)于計(jì)算機(jī)來說非常有用,但對(duì)我們?nèi)祟悂碚f并沒有太多意義。
將時(shí)間戳轉(zhuǎn)換為人類可讀的日期和時(shí)間,可以讓人們更容易理解某件事情發(fā)生的時(shí)間。這有助于記錄事件、安排日程以及在用戶界面中顯示日期。本質(zhì)上,它彌合了計(jì)算機(jī)存儲(chǔ)時(shí)間的方式與我們?nèi)祟惛兄獣r(shí)間的方式之間的差距。