php - 如何使用 date() 在 php 中将时间戳转换为日期而不扭曲数据?

标签 php mysql date datetime timestamp

我正在使用 php 函数 date() 来获取时间戳并将其转换为可读的日期。它存储在mysql中的type=timestamp、function=now下,我使用的时间戳在数据库中读取为“2013-12-17 16:23:00”。并且它可以使用 $date1 完美地回显。但是,当我尝试使用此代码转换它时: echo date('m/d/Y, $date1) 页面上变成“12/31/1969”。我不知道为什么。

最佳答案

要转换 MySQL 时间戳,您需要使用 strtotime 函数

date('m/d/Y', strtotime($date1));

函数strtotime将采用必须格式的日期/时间戳并将其转换为unix时间戳,然后可以使用date()将其转换为另一种可读格式。引用:http://php.net/strtotime

上述方法有效,但这并不是说这是最好的方法,我很高兴听到替代方案。

您获得的日期是因为 date() 需要一个 unix 时间戳(自 1970 年 1 月 1 日以来经过的秒数),并且我假设您的网络服务器配置为 UTC - 所以你是前一天收到的。这是一个恼人的错误,可能来自 MySQL 处理时间戳的方式。

关于php - 如何使用 date() 在 php 中将时间戳转换为日期而不扭曲数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20647147/

相关文章:

c# - 如何在 asp.net mvc 中修复 404 'Resource cannot be found'

mysql - mysql存储过程中的参数sql查询

java - 如何在 JSpinner 上只显示日期

ruby-on-rails-3 - 更改年份以在Rails中更改日期

php - 如何使用 utf8 回显像 åäö 这样的特殊字符

PHP 'Years' 数组

php - 如何从 PHP session 数组中删除变量

php - 在 ListView 中显示微调器中所选项目的数据(android、mysql、php)

sql - 如何使用 Mysqldump for Postgres 格式更改单引号的转义?

javascript - 比较 javascript 中的两个时间,格式为 'hh:mm tt'