MySQL時間轉13位數是一種常見的需求,可以將日期和時間轉換成13位時間戳,以便于在程序中進行時間計算和比較。下面是一個示例代碼:
SELECT UNIX_TIMESTAMP('2019-12-01 12:00:00')*1000 AS ts;
在上述代碼中,使用了UNIX_TIMESTAMP函數將日期和時間轉換成10位時間戳,然后乘以1000轉換成13位時間戳。接下來是一個更完整的示例:
SET @t1 = DATE_FORMAT('2019-12-01 12:00:00','%Y-%m-%d %H:%i:%s'); SET @t2 = UNIX_TIMESTAMP(@t1)*1000; SELECT @t1 AS t1,@t2 AS t2;
上述代碼首先使用了DATE_FORMAT函數將日期和時間轉換成字符串格式,然后使用UNIX_TIMESTAMP函數將字符串格式的時間轉換成10位時間戳,最后乘以1000轉換成13位時間戳。通過使用SET語句變量保存中間結果,可以在查詢中方便地使用這些結果。
另外,MySQL也提供了FROM_UNIXTIME函數,可以將10位時間戳轉換成日期和時間格式:
SELECT FROM_UNIXTIME(1575158400,'%Y-%m-%d %H:%i:%s') AS dt;
在上述代碼中,使用了FROM_UNIXTIME函數將10位時間戳轉換成日期和時間格式。這個函數可以方便地將時間戳轉換成人類可讀的日期和時間格式,用于日志記錄和報表生成等功能。