0

变量 $now 不会显示,除非它被转储。它的人口。它根本不显示“现在为空”字符串。它不会显示 $now 中的内容,除非它是 var_dump 或 var_exported。

$ipData = json_decode( $ttt, true);
$now="";
if ($ipData['timezone']) {
    $tz = new DateTimeZone( $ipData['timezone']);
    $now = new DateTime( 'now', $tz); // DateTime object corellated to user's timezone
} else {
   // we can't determine a timezone - do something else...
}



if($now==""){echo "now is empty";}

echo "<br />
<br />
".$now->timezone.$now->date;
var_dump($now);

}

if(isset($now)){echo "It is set.";} 它肯定是设置的,虽然我在实际调用它之前将它设置为 "",所以不管它被初始化了什么。

甚至删除 $now=""; 表明它已初始化。var_dump($now); 呼应这个:

object(DateTime)#30 (3) { ["date"]=> string(19) "2013-05-06 22:52:29" ["timezone_type"]=> int(3) ["timezone"]= > string(16) "America/New_York" } 在 var_dump $now->timezone 等于 America/New_York 之后

4

2 回答 2

1

DateTime返回新的 DateTime 对象,而不是echo. 如果您想回显日期部分$now,您应该使用format,如下所示

echo $now->format('Y-m-d H:i:s'); 

如果您喜欢回显$now您应该使用的时区gettimezoneand getname,如下所示

echo $now->getTimezone()->getName(); 

那么他们两个应该像下面

 echo $now->format('Y-m-d H:i:s').$now->getTimezone()->getName();
于 2013-05-07T03:32:42.903 回答
0

确保您实际上输入了该 IF 条件。您可以尝试 isset($var) 以查看 var 是否已初始化,或者尝试 empty($var) 以查看其内部是否有内容。[而不是 =="")

于 2013-05-07T02:31:31.777 回答