關於Mysql8.0時區表問題解決

問題描述:

在Django中使用如下代碼:

articles = Article.objects.filter(create_time__date=datetime(year=2020, month=5, day=28))

結果出現:

<QuerySet []>

注意:因爲默認情況下MySQL的表中是沒有存儲時區相關的信息的。因此我們需要下載一些時區表的文件,然後添加到Mysql的配置路徑中。

解決辦法:

  • Mysql5.6版本的解決方法:

如果你用的是windows操作系統。那麼在https://dev.mysql.com/downloads/timezones.html下載timezone_2020a_posix.zip - POSIX standard。然後將下載下來的文件解壓之後,將所有文件拷貝到C:\ProgramData\MySQL\MySQL Server 5.7\Data\mysql中,如果提示文件名重複,那麼選擇覆蓋即可。 如果用的是linux或者mac系統,那麼在命令行中執行以下命令:mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -D mysql -u root -p,然後輸入密碼,從系統中加載時區文件更新到mysql中。

  • Mysql8.0版本的解決方法:

如果你用的是windows操作系統。那麼在https://dev.mysql.com/downloads/timezones.html下載timezone_2020a_posix_sql.zip - POSIX standard。然後將下載下來的文件解壓並拷貝到C:\Program Files\MySQL\MySQL Server 8.0\bin中,在該文件夾中打開命令窗口,輸入mysql -u root -p mysql < timezone_posix.sql,然後輸入密碼。timezone_posix.sql就是解壓包中的文件。如果用的是linux或者mac系統可以參考MySql官網關於時區的配置。

參考網站:https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html#time-zone-installation

時區表下載地址:https://dev.mysql.com/downloads/timezones.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章