所有linux系統檔案系統底層儲存的都是utc時間,也就是說都是自2023年0時0分0秒以來utc標準時間的秒數。
在mysql環境下:select unix_timestamp(); 即可以得到
這個時間,是當前時間的秒數。可以逆**select from_unixtime(1496822616);
timestamp是mysql資料庫中的一種字段型別:內部儲存是四個位元組;精度達到微妙;轉換成utc時間儲存;讀取的時候再根據時區轉換回來。
timestamp值可以從2023年一直到2023年,精度為一秒,imestamp值顯示尺寸的格式如下表所示:
+---------------+----------------+
| 列型別 | 顯示格式 |
| timestamp(14) | yyyymmddhhmmss |
| timestamp(12) | yymmddhhmmss |
| timestamp(10) | yymmddhhmm |
| timestamp(8) | yyyymmdd |
| timestamp(6) | yymmdd |
| timestamp(4) | yymm |
| timestamp(2) | yy |
+---------------+----------------+
「完整」timestamp格式是14位,但timestamp列也可以用更短的顯示尺寸,創造最常見的顯示尺寸是6、8、12、和14。
你可以在建立表時指定乙個任意的顯示尺寸,但是定義列長為0或比14大均會被強制定義為列長14。
列長在從1~13範圍的奇數值尺寸均被強制為下乙個更大的偶數。
補充:獲取當前時間,有兩種方式:select current_timestamp();select now();
獲取當前時間的秒數,也可以這樣寫:select unix_timestamp(current_timestamp());但是如果select unix_timestamp(now());就不可以。
關於sql時間轉換的知識,可以參考:
獲取當前UnixTime的零點時間戳
最近有個需求,開屏廣告每天只出一次。思路為如果出了開屏廣告,則記錄當前時間,下次來的時候,讀取當前時間和上一次出開屏的時間。算一下是不是在同一天即可。我們的第乙個想法是將上次開屏時間和當前時間歸一到 0 點進行比較 其實有寫個更簡單的方法 所以我們需要獲取某乙個時間戳 當天的 0點。可以採用 loc...
mysql中的編碼 mysql中的編碼
一 mysql中的編碼 mysql show variables like collation mysql show variables like character set 預設是latin1編碼,會導致中文亂碼。修改庫的編碼 mysql alter database db name charac...
mysql中 變數 mysql中的變數
toc 變數 mysql本質是一種程式語言,需要很多變數來儲存資料。mysql中很多的屬性控制都是通過mysql中固有的變數來實現的。系統變數 系統內部定義的變數,系統變數針對所有使用者 mysql客戶端 有效。檢視系統所有變數 show variables like pattern mysql允許...