xwgli

在服务器环境下(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\'

转自:https://blog.csdn.net/starlemon2016/article/details/90314649

分类:

技术点:

相关文章:

  • 2022-01-06
  • 2022-12-23
  • 2022-01-19
  • 2021-12-27
  • 2022-12-23
  • 2022-02-04
猜你喜欢
  • 2021-12-06
  • 2022-12-23
  • 2022-02-27
  • 2022-02-23
  • 2021-12-20
  • 2022-01-13
相关资源
相似解决方案