gpt4 book ai didi

mysql - 在 MySQL 中将日期存储为 unix 时间戳或 TIMESTAMP 数据类型?

转载 作者:可可西里 更新时间:2023-11-01 07:37:00 24 4
gpt4 key购买 nike

我需要在 MySQL 数据库中存储日期(带时间)。我希望能够按照我喜欢的方式格式化这些。那么在 MySQL 数据库中存储日期的最佳方式是什么? DATETIME 类型、TIMESTAMP 类型或只是数字数据类型中的 unix 时间戳?我将使用 PHP 检索日期。

最佳答案

通常使用TIMESTAMPDATETIME 数据类型并不重要。

  • 在旧版本中,TIMESTAMP 是 4 个字节,DATETIME 是 8 个字节。
  • DATETIME 想象成时钟的图片;将 TIMESTAMP 视为世界范围内的一个瞬间。也就是说,如果您连接到同一个数据库,但来自不同的时区,DATETIME 看起来是一样的,但是 TIMESTAMP 会针对时区进行调整。<
  • NOW()SELECTing 到 PHP 等都与两者兼容。
  • 两者在外部都被视为一个字符串,例如'2015-04-25 17:09:01'。
  • 由于 TIMESTAMP 存储为 32 位整数(但您看不到),因此它被限制在 ~1970-2038 之间。
  • 由于 DATETIME 是时钟时间,因此如果您切换到夏令时/从夏令时切换到/退出夏令时,每年将缺少/额外一小时。

是的,您可以使用 UNIX_TIMESTAMP() 并有一个 INT UNSIGNED,但是看到“2015-...”不是更好吗? (那将是 4 个字节。)

关于mysql - 在 MySQL 中将日期存储为 unix 时间戳或 TIMESTAMP 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29865762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com