在伺服器環境下(linux 或 docker),有時系統時區預設是 utc 時區,這時需要格外注意下應用使用的時區資訊。
在使用 ef + linq 執行 mysql 查詢時,若查詢條件中含有 datetime.now(),則會按 mysql 的時區資訊查詢,造成時間錯亂。
可以使用 select now(); 來檢查 mysql 的當前時間是否準確。
修改 mysql 的時區配置:
1、臨時配置(重啟後失效):
set time_zone ='+8:00';
set global time_zone =
'+8:00
';
注意,執行以上語句後,需重新連線 mysql 生效。
2、永久配置(重啟仍有效):
修改 my.cnf 檔案配置(修改後重啟 mysql 生效):
# 設定預設時區[mysqld
]default-time_zone='+8:00'
**:
mysql 時區設定 修改MySQL時區設定的方法
mysql 時區預設是伺服器的時區。檢視 複製 如下 mysql show variables like time zone variable name value system time zone cst time zone system 2 rows in set 0.00 sec 可以通過修改...
mysql設定儲存時區 MySQL 設定時區的影響
個人理解,mysql 設定時區的不同會影響日期相關函式的返回結果。對資料表裡的日期資料插入 查詢沒有影響,儲存的都是本地時間。舉例來說,對於 select now 如果 mysql 伺服器時區被設定為東五區,返回的就是東五區的時間,而不是東八區的時間。對於 select unix timestamp...
mysql 時區設定 設定MySQL預設時區
mysql預設的時區是utc時區,比北京時間晚8個小時。假設日誌裡面的時間是中午12 00,那麼北京時間應該是晚上的8 00點鐘。為方便檢視和設定時間,我們要設定mysql的預設時區,以符合本地使用。1 永久有效方法 修改my.cnf檔案,加入如下2行 default time zone 08 00...