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

标签 php mysql datetime date time

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

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

这是我的问题:

  • 我应该在 MySQL 中使用什么数据类型(例如 timestampdatetime ...)?
  • 我应该使用什么方法来生成日期时间(例如 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/

相关文章:

PHP - 订购数据库元素列表

mysql - 从 3 个表中选择 php

mysql - 计算MySQL坐标并更新行

python - Python 2.4 中的相对增量

jquery 日期格式问题使用 coldfusion 将日期时间列转换为字符串

php - 无法联系 ldap_bind($con, $rdn, $pwd) 上的 LDAP 服务器

javascript - 如何在amCharts中使用dataLoader获取数据?

php - 我的排序方法有什么问题(AJAX、PHP MySQL)

mysql - 尝试编写 MySQL 连接查询

java - 使用 java 将字符串插入到日期时间 mysql 列中。