解决mysql时区问题导致错误Incorrect datetime value: '1970-01-01 00:00:01'

 更新时间:2023年10月12日 09:37:09   作者:stanting  
这篇文章主要介绍了解决mysql时区问题导致错误Incorrect datetime value: '1970-01-01 00:00:01',具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

mysql时区错误Incorrect datetime value: '1970-01-01 00:00:01'

手册中的描述:

A timestamp. The range is ‘1970-01-01 00:00:01’ UTC to ‘2038-01-19
03:14:07’ UTC.

注意末尾的UTC,此为世界协调时,指的是经度0度上的标准时间。

官方文档中描述:

MySQL converts TIMESTAMP values from the current time zone to UTC for
storage, and back from UTC to the current time zone for retrieval.
(This does not occur for other types such as DATETIME.) By default,
the current time zone for each connection is the server’s time. The
time zone can be set on a per-connection basis. As long as the time
zone setting remains constant, you get back the same value you store.
If you store a TIMESTAMP value, and then change the time zone and
retrieve the value, the retrieved value is different from the value
you stored. This occurs because the same time zone was not used for
conversion in both directions. The current time zone is available as
the value of the time_zone system variable.

文中说到,在存储时会根据当前环境的的时区转换为UTC存储。

而环境中的时区为CST中国标准时间,比UTC要早8个小时,常见表示为GMT+0800 (中国标准时间)。

也正是如此,输入的值存储时需要加八个小时再存储,对应过来timestamp的时间范围表示为’1970-01-01 08:00:01’ and ‘2038-01-19 11:14:07’。

1970-01-01 08:00:00 时间由来

在用ng的date过滤服务的时候时间戳0会转换成1970-01-01 08:00:00;

是因为起源于UNIX系统,以Unix诞生的时间为参照确定的,UNIX认为1970年1月1日0点是时间纪元,现代计算机(电话,电子设备)时间以1970 年 1 月 1 日的 08:00为基准,

在时间转换时,或者时间重置时都会出现这个时间值,unix时间戳零点是 1970年1月1日0点整(utc),北京是gmt 8所以变成八点。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL查询结果处理方式

    MySQL查询结果处理方式

    这篇文章主要介绍了MySQL查询结果处理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • mysql修改数据库默认路径无法启动问题的解决

    mysql修改数据库默认路径无法启动问题的解决

    这篇文章主要给大家介绍了关于mysql修改数据库默认路径无法启动问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • 一篇文章带你了解MySQL数据库约束

    一篇文章带你了解MySQL数据库约束

    数据库中要管理很多数据,但是这些数据是否正确、是否非法,光靠人力来检验是远远不够的,因此我们想让数据库拥有丰富的检验和校验能力,所以便引入了约束,下面这篇文章主要给大家介绍了关于MySQL数据库约束的相关资料,需要的朋友可以参考下
    2023-06-06
  • 详细解读MySQL中COUNT函数的用法

    详细解读MySQL中COUNT函数的用法

    这篇文章主要介绍了详细解读MySQL中COUNT函数的用法,是MySQL入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • IDEA连接mysql又报错!Server returns invalid timezone. Go to tab and set serverTimezone  prope的问题

    IDEA连接mysql又报错!Server returns invalid timezone. Go to tab an

    这篇文章主要介绍了IDEA连接mysql又报错!Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' prope问题,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友可以参考下
    2020-05-05
  • 关于MySQL数据库死锁的案例和解决方案

    关于MySQL数据库死锁的案例和解决方案

    MySQL Update语句防止死锁是指在修改MySQL数据库的数据时,为避免多个进程同时修改同一数据行而造成死锁的情况,引入了一些机制来防止死锁的产生,本文介绍了一个 MySQL 数据库死锁的案例和解决方案,需要的朋友可以参考下
    2023-09-09
  • mysql自动填充时间的两种实现方式小结

    mysql自动填充时间的两种实现方式小结

    这篇文章主要介绍了mysql自动填充时间的两种实现方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • MySQL InnoDB Cluster 常见管理命令

    MySQL InnoDB Cluster 常见管理命令

    本文基于实际操作场景,整理了 InnoDB Cluster 日常管理中高频使用的命令,涵盖连接、状态查询、成员管理、主从切换等核心操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • MYSQL常见出错代码对照

    MYSQL常见出错代码对照

    MYSQL常见出错代码对照...
    2007-07-07
  • MySQL数据库页与索引示例详解

    MySQL数据库页与索引示例详解

    文章主要内容是详细介绍了MySQL索引的工作原理和使用方法,文章介绍了如何通过执行计划查看SQL是否使用了索引,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-11-11

最新评论