php - DateTimeZone类中的奇怪内容

时间:2016-01-17 14:04:02

标签: php datetime timezone

DateTimeZone类中有奇怪的常量

class DateTimeZone {

    const UTC = 1024;
    const ALL = 2047;
    ...
}

我试图找到有关它们的任何信息。也尝试过使用它们:

$dtz = new DateTimeZone(DateTimeZone::UTC); // throws Exception with message 
                                            // DateTimeZone::__construct(): Unknown or bad timezone (1024)

$dt = new Datetime('2016-02-01 10:00:00', DateTimeZone::UTC); // throws Exception with message
                                                              // DateTime::__construct() expects parameter 2 to be DateTimeZone, integer given

它们是什么以及如何使用它们?

1 个答案:

答案 0 :(得分:5)

它们在一些地方使用,例如DateTimeZone::listIdentifiers,它会将DateTimeZone::EUROPE之类的内容作为参数(并会为您提供所有Europe/Whatever时区的列表)。< / p>

您不能使用它们来创建DateTimeZoneDateTime,因为它们是多个时区的区域组,而不是特定的个别时区(UTC可能会让您感到困惑)。