使用Intl(PHP)将西班牙语日期转换为时间戳

时间:2018-07-13 07:56:34

标签: php date intl

我需要将以自然语言编写的日期转换为时间戳或任何其他标准日期格式。日期以四种语言显示:英语,德语,法语和西班牙语。 我可以将西班牙日期以外的所有日期都以Intl扩展名进行转换。

以自然语言显示的日期示例:

// es - 19 de julio de 2017
// fr - 2 février 2018
// en - May 16, 2016
// de - 27 Juni 2018

法语日期解析工作正常

$df = \IntlDateFormatter::create(
    'fr_FR',
    \IntlDateFormatter::MEDIUM,
    \IntlDateFormatter::NONE,
    'Europe/Kiev'
);

$timestamp = $df->parse('2 fevrier 2018'); // 1517518800

但是西班牙语,返回false

$df = \IntlDateFormatter::create(
    'es_ES',
    \IntlDateFormatter::MEDIUM,
    \IntlDateFormatter::NONE,
    'Europe/Kiev'
);

$timestamp = $df->parse('19 de julio de 2017'); // false

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您不应该在约会中使用de

$timestamp = $df->parse('19 julio 2017'); // false
echo $timestamp;

输出为

  

1500411600

将完美工作。