以下程序的输出可以在这里看到:http://codepad.org/egNGJBULPHP date()函数忽略时间戳参数
<?php
/* Checking if time() is really timezone independent */
date_default_timezone_set('UTC');
echo time();
echo "\n";
date_default_timezone_set('Australia/Queensland');
echo time();
echo "\n";
/* Using date() function passing timestamp parameter */
date_default_timezone_set('UTC');
echo date('Y-m-d H:i:s',time());
echo "\n";
date_default_timezone_set('Australia/Queensland');
echo date('Y-m-d H:i:s',time());
echo "\n";
/* Using date() function without passing timestamp parameter */
date_default_timezone_set('UTC');
echo date('Y-m-d H:i:s');
echo "\n";
date_default_timezone_set('Australia/Queensland');
echo date('Y-m-d H:i:s');
echo "\n";
从输出中,我们可以看到time()
的1-2线返回一个值,这是真的时区独立。
在第3-4行中,很奇怪date()
函数会忽略时间戳参数,并仍然根据设置的时区显示日期时间。
这是为什么?