平時為了方便儲存和查詢,通常會選擇將時間儲存為毫秒或者秒的形式。但是頁面顯示的時候很不直觀,需要將整型數字轉化成日期格式,轉化方式包括下面幾種:
1、秒數與Date之間的轉換:select from_unixtime(1388776825);
還可以定義時間格式,用法如下:
SELECT FROM_UNIXTIME( 1388776825, "%Y-%m-%d %H:%m:%s");
結果:2014-01-04 03:01:25
SELECT FROM_UNIXTIME( 1388776825, "%Y年%m月%d" )
結果:2014年1月4
2、將秒數轉為Date:SELECT UNIX_TIMESTAMP("2014-03-23 10:10:40")
如果想逆向轉換,可以透過unix_timestamp()函式反向轉換。用法如下:
SELECT UNIX_TIMESTAMP() ;//獲取當前時間的秒數
SELECT UNIX_TIMESTAMP("2014-03-23 10:10:40") ; //獲取指定日期格式的秒數
SELECT UNIX_TIMESTAMP("2014-03-23") ; //獲取指定日期格式的秒數
擴充套件資料:
一、date型換int型
SELECT UNIX_TIMESTAMP(‘2017-9-22 13:54:45’)
二、int型轉date型
SELECT FROM_UNIXTIME(1506059685)
需要注意的是,一個int值轉換為DateTime 需要從1970年1月1日0點0分0秒開始,但是必須明確,這個時間是標準時間,而不是臺北時間。
資料庫中資料的時間都是以標準時間為準繩的。所以必須轉換到當前時間, 中國是+8 ,可以簡單的呼叫ToLocalTime達到效果。
平時為了方便儲存和查詢,通常會選擇將時間儲存為毫秒或者秒的形式。但是頁面顯示的時候很不直觀,需要將整型數字轉化成日期格式,轉化方式包括下面幾種:
1、秒數與Date之間的轉換:select from_unixtime(1388776825);
還可以定義時間格式,用法如下:
SELECT FROM_UNIXTIME( 1388776825, "%Y-%m-%d %H:%m:%s");
結果:2014-01-04 03:01:25
SELECT FROM_UNIXTIME( 1388776825, "%Y年%m月%d" )
結果:2014年1月4
2、將秒數轉為Date:SELECT UNIX_TIMESTAMP("2014-03-23 10:10:40")
如果想逆向轉換,可以透過unix_timestamp()函式反向轉換。用法如下:
SELECT UNIX_TIMESTAMP() ;//獲取當前時間的秒數
SELECT UNIX_TIMESTAMP("2014-03-23 10:10:40") ; //獲取指定日期格式的秒數
SELECT UNIX_TIMESTAMP("2014-03-23") ; //獲取指定日期格式的秒數
擴充套件資料:
一、date型換int型
SELECT UNIX_TIMESTAMP(‘2017-9-22 13:54:45’)
二、int型轉date型
SELECT FROM_UNIXTIME(1506059685)
需要注意的是,一個int值轉換為DateTime 需要從1970年1月1日0點0分0秒開始,但是必須明確,這個時間是標準時間,而不是臺北時間。
資料庫中資料的時間都是以標準時間為準繩的。所以必須轉換到當前時間, 中國是+8 ,可以簡單的呼叫ToLocalTime達到效果。