在MySQL数据库中存储日期和时间以便以后用PHP显示的最佳方法是什么?

T. *_*nes 9 php mysql time datetime date

我想将用户在我的网站上执行操作的日期和时间存储到MySQL数据库中.我希望能够轻松地做到以下几点:

  • 将日期和时间存储为数据库中的一个字段
  • 使用内置的PHP或MySQL函数生成操作的日期时间
  • 根据我服务器的时间存储日期时间,而不用担心用户时区.
  • Order By 我查询MySQL时的日期时间字段
  • 稍后,使用内置的PHP方法以多种不同格式显示日期时间

这是我的问题:

  • 我应该在MySQL中使用什么数据类型(例如timestamp,datetime...)?
  • 我应该使用什么方法来生成日期时间(例如MySQL now(),PHP的date()......)?
  • 我以后应该使用什么PHP方法以各种方式格式化日期时间(例如2012年7月23日星期一下午5点......)?

Pit*_*ate 5

我会将其存储为日期时间,而不是时间戳。

我通常使用 PHP 日期函数,这样如果您想要存储相对于用户时区的时间,您可以简单地根据用户的设置更改时区。

当您将其从数据库中取出时,使用 strtotime() 对其进行转换,然后您可以使用所有 date() 功能来按照您想要的方式显示它。例子:

echo date('F j, Y',strtotime($db_datetime)); //Displays as 'March 5, 2012'
Run Code Online (Sandbox Code Playgroud)