我想将用户在我的网站上执行操作的日期和时间存储到 MySQL 数据库中。我希望能够轻松地执行以下操作:
- 将日期和时间作为一个字段存储在数据库中
- 使用内置的 PHP 或 MySQL 函数生成操作的日期时间
- 根据我的服务器时间存储日期时间,而不用担心用户时区。
Order By
查询 MySQL 时的日期时间字段- 稍后,使用内置的 PHP 方法以多种不同格式显示日期时间
这是我的问题:
- 我应该在 MySQL 中使用什么数据类型(例如
timestamp
、datetime
...)? - 我应该使用什么方法来生成日期时间(例如 MySQL 的
now()
,PHP 的date()
...)? - 我以后应该使用什么 PHP 方法以各种漂亮的方式格式化日期时间(例如 23/4/2012,2012 年 7 月星期一下午 5 点...)?
最佳答案
我会将其存储为日期时间,而不是时间戳。
我通常使用 PHP 日期函数,如果您想存储相对于用户时区的时间,您只需根据用户设置更改时区即可。
当您将其从数据库中拉出时,使用 strtotime() 对其进行转换,然后您可以使用所有 date() 功能来根据需要显示它。示例:
echo date('F j, Y',strtotime($db_datetime)); //Displays as 'March 5, 2012'
关于php - 在 MySQL 数据库中存储日期和时间以便以后用 PHP 显示的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11783668/