关于MySQL的时区的问题

大家好,我有两个关于MySQL的时区的问题:

  1. 我的MySQL数据表中的created_at和updated_at字段是这样设置的:

      `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
      `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
    

    且新增数据时通过NOW()函数设置的这两个字段。这会带来一个问题,如果两个MySQL服务器的时区不一样,那么created_at和updated_at的时区也不一致。因此应该统一MySQL服务器的时区。

  2. 统一时区时应该设置为UTC还是UTC+8呢?

关于MySQL的时区的设置,有没有统一的标准呢?

100 views
Comments
登录后评论
Sign In
·

可以使用时间戳,时间戳不受时区影响

·

我习惯用 bigint 的时间戳,不用 date 类型:

  1. 数值容易传递,各语言都有解析库,显示交给前端就行了
  2. bigint 还方便做大小比较,方便 sort
  3. 序列化方便,直接传递。
  4. 无关时区,客户端根据用户所在时区准确显示就行