MySQL中的時間戳是一種特殊的數據類型,它存儲的是從1970年1月1日00:00:00(UTC)起至現在的秒數。這種時間戳通常被稱作UNIX時間戳或Epoch時間戳。但是,有時候我們需要將這種時間戳轉換為精確的時間格式。
在MySQL中,可以使用UNIX_TIMESTAMP函數將時間戳轉換為普通時間格式。該函數接受一個時間戳作為參數,并返回對應的精確時間。如下所示:
SELECT UNIX_TIMESTAMP('2021-09-12 12:34:56');
該代碼的輸出結果為1631453696,即該時間在UNIX時間戳中對應的秒數。
然而,有時候我們需要將時間戳轉換為更精確的時間格式,例如毫秒級別的時間戳格式。在MySQL中,可以使用FROM_UNIXTIME函數來實現。
SELECT FROM_UNIXTIME(1631453696, '%Y-%m-%d %H:%i:%s.%f');
這個代碼的輸出結果為2021-09-12 12:34:56.000000,其中%f表示輸出毫秒級別的時間戳。如果需要輸出微秒級別的時間戳,則可以將格式化字符串中的%f改為%6f。
在FROM_UNIXTIME函數中,第一個參數是需要轉換的時間戳,可以是一個整數或一個時間戳字段。第二個參數是用于格式化輸出時間的格式字符串,其中各個參數的含義如下:
- %Y 代表四位數的年份
- %m 代表月份
- %d 代表日
- %H 代表小時
- %i 代表分鐘
- %s 代表秒
- %f 代表毫秒(六位數)
除了以上格式外,還可以使用其他格式來輸出需要的時間格式。