在mysqli数据库中存储日期和时间的最佳方法是什么?

时间:2016-02-16 09:34:07

标签: php mysql mysqli

将日期和时间存储到MySQL数据库中的单独字段的最佳方法是什么。

我将在查询中执行以下操作:

  • 使用日期,ASC或DSC对表进行排序
  • 根据时间对表格进行排序,
  • 按某些条件选择表格,例如:

    示例查询:

    SELECT * FROM table WHERE starttime > '$starttime AND endtime < $endtime
    

让我们说

$date = "11/12/2016";
$starttime = "09:00 AM";
$endtime = "05:00 PM";

以正确格式存储这些内容的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

在我们的用例中,我们必须考虑时区,因此完整日期是日期,时间和时区的组合。

由于日期和时间相关,我更倾向于将自UTC(纪元时间戳)自1.1.1970以来的所有内容翻译为毫秒并存储这些值。优点是绝对时间,无需记住时区。排序,过滤,找到约会的交叉点非常容易。

但是,当您将long值转换回人类可读值时,您需要创建日期的时区。所以你必须把这些数据保存在某个地方。通常,时区是针对一个用户的,因此与用户相关的所有日期都具有相同的时区。