我有两个信息来源,这些来源的日期格式不同。
来源A Wed,2010年11月17日12:14:10 +0000 (来自rss Feed)
来源B YYYY-MM-DD HH:MM:SS (来自mysql datetime)
请求: 我想按日期订购它们,只检索最后一次出现。
但是,更糟糕的是,存储在数据库中的那些应该考虑到TIME。因为可以在同一天创建几个记录。
我可以控制mysql输出格式以供选择。 我对来自rss feed的输出没有任何控制。
这似乎不是一件容易的事,我想知道:
你能在这里建议什么?
更新 我在考虑: 工作源A像这样: a)创建数月和特定月份数的数组 b)在第一个逗号之后移动两个字符(如果我们计算空格则返回三个)(当天) c)将“Nov”转换为数字(通过使用先前创建的数组); d)检索2010年(不确定如何); e)将年份放在左边,添加一个月份,然后添加一个 - ,放置一天,添加00:00:00
此时,两者都是平等的,这可能会有所帮助...... 但是,我觉得做这一切真的很虚伪......:s有没有聪明的方法? :)
Over-php(zend)/ mysql
非常感谢, MEM
答案 0 :(得分: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');