【问题标题】:Converting MySQL datetime to RFC 2822 Using PHP date() Function使用 PHP date() 函数将 MySQL 日期时间转换为 RFC 2822
【发布时间】:2010-11-17 18:04:36
【问题描述】:

我正在我们的网页上设置 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 的日期时间转换为 RFC 2822 的正确方法是什么,或者至少如何转换为一种格式以放入 PHP 的 date() 函数以获得正确的响应?

【问题讨论】:

标签: php mysql datetime


【解决方案1】:
SELECT DATE_FORMAT(exampledate,'%a, %d %b %Y %T') // given a MySQL datetime

date('r') // for PHP

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      检查您的时区设置

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

      date() 之类的函数取决于这些设置。

      【讨论】:

        【解决方案4】:

        strtotime 将完成这项工作

        如果您不介意,我想看看您对“if-modified-since”的实现。我需要在我的一个网站上执行此操作。

        【讨论】:

          猜你喜欢
          • 2011-03-28
          • 1970-01-01
          • 2012-12-08
          • 2010-10-27
          • 2015-12-04
          • 1970-01-01
          • 1970-01-01
          • 2012-06-15
          • 1970-01-01
          相关资源
          最近更新 更多