php - DateTimeZone类中的奇怪内容

hap*_*set 3 php timezone datetime

DateTimeZone类中有奇怪的常量

class DateTimeZone {

    const UTC = 1024;
    const ALL = 2047;
    ...
}
Run Code Online (Sandbox Code Playgroud)

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

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

要么

$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
Run Code Online (Sandbox Code Playgroud)

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

cee*_*yoz 5

它们被用在一些地方,比如DateTimeZone::listIdentifiers,它可以像DateTimeZone::EUROPE参数那样获取(并且会给你一个所有Europe/Whatever时区的列表).

您不能使用它们来创建DateTimeZone或者DateTime因为它们是多个时区的区域组,而不是特定的单个时区(UTC可能会让您感到困惑).