[英]Correct php date/time pattern
我有此日期/時間格式:
Fri, 17 Oct 2014 22:12:51 +3:30
我知道正確的模式是:
'D, d M Y H:i:s P'
但是當使用此錯誤遇到此錯誤時:
Impossible to guess date format :
Fri, 17 Oct 2014 22:12:51 +3:30
我認為會發生此錯誤是因為+3:30(GMT)不是真實的,真實的是+03:30。 我不知道該怎么解決? (我在symfony中使用debril_rss_atom來讀取rss,這些站點的rss具有publish date屬性,而debril則根據一種模式有一部分用於讀取發布日期:)
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
$loader->load('services.xml');
$default = array(
\DateTime::RFC3339,
\DateTime::RSS,
\DateTime::W3C,
'Y-m-d\TH:i:s.uP',
'Y-m-d',
'd M Y H:i:s +O',
'D, d M Y H:i:s',
'D, d M Y H:i:s +P',
'D, d M Y H:i:s +O',
);
if (!isset($config['date_formats']))
{
$container->setParameter(
'debril_rss_atom.date_formats', $default
);
} else
{
$container->setParameter(
'debril_rss_atom.date_formats', array_merge($default, $config['date_formats'])
);
}
}
您所有的格式都是標准格式,因此無需猜測格式, DateTime
不僅可以自己進行格式化:
$dt = new DateTime('Fri, 17 Oct 2014 22:12:51 +3:30');
print_r($dt);
在您的方法load()
您使用了+O
和+P
格式,這不行。 O
和P
還考慮了時區偏移量之前的正負號,因此無需在格式之前指定符號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.