使用PHP date()函数将MySQL datetime转换为RFC 2822

时间:2010-11-17 18:04:37

标签: php mysql datetime

我在我们的网页上设置了PHP的if-modified-since标头。我可以检测是否已保存php文件,然后使用PHP的filetime()和date()函数正确设置标头。但是,当php页面上显示的数据库中的信息发生变化时,我还需要正确设置标题。

对于要更改的文件,我使用PHP的date()函数,如下所示:

date("r", $file_mod)

然而,当我在查询MySQL日期时间字段时使用它时,我总是得到以下响应,其中日期,时间,年份和月份是错误的:

Wed, 31 Dec 1969 18:33:30 -0600

从MySQL的datetime转换为RFC 2822的正确方法是什么,或者至少如何转换为格式以放入PHP的date()函数以获得正确的响应?

4 个答案:

答案 0 :(得分:3)

SELECT DATE_FORMAT(exampledate,'%a, %d %b %Y %T') // given a MySQL datetime

date('r') // for PHP

答案 1 :(得分:1)

您可以考虑在查询中使用MySQL的date_format函数。这样,日期将以正确的格式到达。

答案 2 :(得分:0)

检查您的时区设置

http://php.net/manual/en/function.date-default-timezone-set.php

date()等函数取决于这些设置。

答案 3 :(得分:-2)

strtotime将完成这项工作

如果您不介意,我希望看到您执行“if-modified-since”。我需要在我的一个网站上这样做。