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