【问题标题】:IntlDateFormatter::parse doesn't work?IntlDateFormatter::parse 不起作用?
【发布时间】:2015-09-05 06:00:36
【问题描述】:

我正在尝试解析日期,但我得到了错误的时间戳

<?php
// PHP version 5.5.9
// intl version 1.1.0
// ICU version 52.1
// ICU Data version 52.1

// I'm in Europe/Moscow (GMT +3)
echo date_default_timezone_get().PHP_EOL;

$df = \IntlDateFormatter::create(
    'en_EN',
    IntlDateFormatter::MEDIUM,
    IntlDateFormatter::NONE,
    'Europe/Moscow'    // GMT +3
);

$timestamp = $df->parse('Jun 19, 2015');

// 1434657600 - wrong timestamp! Where is 1 hour? Must be 1434657600 + 3600 = 1434661200
echo $timestamp.PHP_EOL;

$dt = new \DateTime();
$dt->setTimestamp($timestamp);

// Thu, 18 Jun 2015 23:00:00 +0300 - wrong, must be Thu, 19 Jun 2015 00:00:00 +0300
echo $dt->format('r').PHP_EOL;

// or using date():
// echo date('r', $tm).PHP_EOL;

【问题讨论】:

    标签: php intl


    【解决方案1】:

    已通过从存储库 https://launchpad.net/~rzz/+archive/ubuntu/icu 更新 ICU 解决

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2015-02-09
      • 2017-10-31
      • 2016-05-18
      相关资源
      最近更新 更多