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

Convert Spanish date to timestamp with Intl (PHP)

我需要将以自然语言编写的日期转换为时间戳或任何其他标准日期格式。日期有四种语言:英语、德语、法语和西班牙语。 我可以使用 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

但是西班牙语,returnfalse

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

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

我做错了什么?

你不应该在约会中使用 de

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

输出是

1500411600

将完美运行。