我应该用什么来保存日期和时间


What should i use to save date and time

对于我的新数据库,我想用mysqli将给定的日期、时间和年份从php保存到我的数据库中,在sql中我可以创建一个字段:

DATE
DATETIME
TIMESTAMP
TIME
YEAR

我只将数据库与php一起使用,我应该选择什么类型?以及出于什么原因。

我认为日期时间和时间戳是最好的选择。但找不到任何理由说明为什么一个应该比另一个更好。有人能帮我选择吗?

还是将日期时间和年份分开保存更好?

我想进行查询以获取上周等的值。

对于我的新数据库,我想将给定的日期、时间和年份从php保存到我的数据库

因此,将其存储为DATETIME。它包括年份。

以下是如何看待这些类型:

  • DATE:用于日期(带年份),例如出生日期("2010-11-23")

  • TIME:用于一天中的某个时间,例如午餐开始("12:00")

  • DATETIME:用于特定的日期和时间,例如会议开始("2010-11-23 12:00")

  • TIMESTAMP:用于特定事件发生的时间,例如创建某个会议的时间("1385653500";这通常在其定义中包括时区信息)

  • YEAR:用于存储年份,例如战争的开始年份("1653")

请注意,您始终可以将"较大"类型强制转换为"较小"类型。例如,您可以将DATE强制转换为YEAR