将GMT日期转换为时间戳

时间:2017-06-20 09:36:14

标签: php

我有一个以这种方式格式化的日期:

class Foo
{
    int a, b, c;
};

我需要的是将此日期,首先转换为时间戳,然后转换为其他格式,这是我的代码:

$data = 'lun, 19 giu 2017 16:30:00 GMT';

我在第二行收到此错误:

$date = DateTime::createFromFormat(DateTime::RSS, $data);
$timestamp_date = $date->getTimestamp();
$postdate = date("Y-m-d H:i:s", $timestamp_date);

我尝试将此值FATAL ERROR Uncaught Error: Call to a member function getTimestamp() on boolean in 更改为其他许多但尚无结果。

1 个答案:

答案 0 :(得分:2)

IntlDateFormatter类可用于解析国际日期格式:

$fmt = new IntlDateFormatter(
    'it_IT',
    IntlDateFormatter::FULL,
    IntlDateFormatter::FULL,
    'Europe/Rome',
    IntlDateFormatter::GREGORIAN
);
$ts = $fmt->parse('lun, 19 giu 2017 16:30:00 GMT');
echo $ts, PHP_EOL, date('Y-m-d H:i:s', $ts);

1497889800
2017-06-19 18:30:00