【问题标题】:Convert Spanish date to timestamp with Intl (PHP)使用 Intl (PHP) 将西班牙日期转换为时间戳
【发布时间】:2018-12-21 13:11:42
【问题描述】:

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

我做错了什么?

【问题讨论】:

    标签: php date intl


    【解决方案1】:

    您不应该在约会中使用de

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

    输出是

    1500411600

    将完美运行。

    【讨论】:

    • 是的,它有效,但我从亚马逊获得了一个日期,并且在未来,我们将与所有亚马逊市场合作,无需准备就可以很好地解析一个日期。
    猜你喜欢
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    相关资源
    最近更新 更多