我有一个字符串日期,我想在pubDate中转换为RSS。
<?php echo date('r',strtotime('14/10/2015 2:58:27 a.m.'));?>
但以上这些都给了我上世纪六十年代的一些疯狂的结果。
在这种情况下,'r‘还不够吗?我需要做一些花哨的调整来匹配我的字符串吗?
发布于 2015-10-14 03:36:08
Rss pubDate使用RFC 2822标准。使用DateTime类并利用预定义的常量DateTime::RSS
<?php
date_default_timezone_set("Europe/Lisbon");
$raw = "14/10/2015 2:58:27 a.m.";
$raw = str_replace(".", "", $raw); //am/pm
if(strpos($raw,'am') !== false){ $ampm = "a";}else{$ampm = "A";}
$time = DateTime::createFromFormat("d/m/Y g:i:s $ampm", $raw);
echo $time->format(DateTime::RSS);
//Wed, 14 Oct 2015 02:58:27 +0000
?>P.S.:将default_timezone改为yours http://php.net/manual/en/timezones.php
现场演示
发布于 2015-10-14 03:43:04
您需要告诉php日期不是yyyy格式(或者mm),所以strtotime可以处理它。
试一试
<?php echo date('r',strtotime('14/10/2015 2:58:27 a.m.' . 'GMT'));?>https://stackoverflow.com/questions/33116068
复制相似问题