0

我有两个信息来源,这些来源有不同格式的日期。

来源 A ,2010 年 11 月 17 日,星期三 12:14:10 +0000(来自 rss 提要)

来源 B YYYY-MM-DD HH:MM:SS(来自 mysql 日期时间)

请求: 我想按日期对它们进行排序,以仅检索最后出现的事件。

但是,更困难的是,那些存储到数据库中的应该考虑到 TIME。因为可以在同一天创建多个记录。

我可以控制可供选择的 mysql 输出格式。我无法控制来自 rss 提要的输出。

这似乎不是一个容易的成就,我想知道:

你能在这里提出什么建议?

更新: 我在考虑:像这样工作的源A:a)为月份和特定月份数创建一个数组b)在第一个逗号之后检索两个字符(如果我们计算空格,则为三个)(天)c)转换"Nov" 到一个数字(通过使用先前创建的数组);d) 检索 2010 年(不确定如何);e) 把年份放在左边,加一个 - 代表月份,一个 - 代表日期,加上 00:00:00

在这个时候,他们将是平等的,这可能会有所帮助......但是,我觉得做这一切真的很愚蠢......:s没有聪明的方法吗?:)

结束 - php(zend) / mysql

非常感谢,MEM

4

1 回答 1

3

如果您可以使用 PHP 5.3,我会使用DateTime::createFromFormat()将日期格式标准化为通用格式。

对于 mySQL 日期:

$date = DateTime::createFromFormat('Y-m-d H:i:s', '2010-11-17');
echo $date->format('Y-m-d H:i:s');

对于 RFC 2822 格式,这应该可以工作(从未测试过):

$date = DateTime::createFromFormat('r', 'Wed, 17 Nov 2010 12:14:10 +0000');
echo $date->format('Y-m-d H:i:s');
于 2010-11-21T13:40:50.867 回答