當前時間戳指的是從1970年1月1日00:00:00至現在的秒數。在各種應用場景中扮演著重要的角色,比如用於計算時間差、生成隨機數、驗證token的有效期等等。本文將從不同的語言和資料庫獲取當前時間戳的方法入手,做一一詳細介紹。
一、mysql當前時間戳
mysql的當前時間戳獲取比較簡單,直接使用now()函數即可,now()函數返回的是標準格式的時間字元串,需要使用unix_timestamp()函數將其轉化為時間戳。
SELECT UNIX_TIMESTAMP(NOW());
代碼解釋:
- SELECT:從資料庫中選擇數據
- UNIX_TIMESTAMP():將時間字元串轉換成時間戳
- NOW():返回當前時間的標準格式字元串
二、c++獲取當前時間戳
c++中獲取當前時間戳有多種方法,下面列舉兩種常見的方法。
方法一:使用time()函數
#include #include using namespace std; int main() { time_t now = time(0); long timestamp = static_cast(now); cout << timestamp << endl; return 0; }
代碼解釋:
- time_t:表示時間的結構體,單位為秒
- time(0):獲取當前時間
- static_cast:將time_t類型轉換為long類型
方法二:使用chrono庫
#include #include using namespace std; int main() { auto now = chrono::system_clock::now(); auto timestamp = chrono::duration_cast(now.time_since_epoch()).count(); cout << timestamp << endl; return 0; }
代碼解釋:
- chrono::system_clock::now():獲取當前時間
- chrono::duration_cast:時間戳轉換
- chrono::seconds:秒的時間單位
- time_since_epoch():時間戳基準點
- count():獲取時間戳數值
三、獲取當前時間戳的其他方法
1、js獲取當前時間戳
var timestamp = Math.round(new Date().getTime() / 1000); console.log(timestamp);
代碼解釋:
- new Date().getTime():返回當前日期和時間的毫秒數
- Math.round():四捨五入為最接近的整數
- / 1000:將毫秒數轉化為秒數
2、php獲取當前時間戳
$timestamp = time(); echo $timestamp;
代碼解釋:
- time():返回當前時間的時間戳
3、c語言獲取當前時間戳
#include #include int main() { time_t timestamp = time(NULL); printf("%ld", timestamp); return 0; }
代碼解釋:
- time():返回從1970年1月1日00:00:00到當前時間的秒數
4、oracle獲取當前時間戳
SELECT (SYSDATE - to_date('19700101', 'yyyymmdd')) * 86400 AS TIMESTAMP FROM DUAL;
代碼解釋:
- SELECT:從資料庫中選擇數據
- SYSDATE:獲取系統時間
- to_date(‘19700101’, ‘yyyymmdd’):將日曆時間1970年1月1日轉化為oracle時間
- * 86400:將天數轉換成秒數
- AS TIMESTAMP:將時間戳命名為TIMESTAMP
- FROM DUAL:從一個空的表DUAL中獲取數據
5、linux獲取當前時間戳
date +%s
代碼解釋:
- date:日期命令
- +%s:格式化輸出時間戳
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270668.html