如果entry(DateTimeZone)错误或为空,则触发操作

时间:2019-03-31 19:46:23

标签: php

下面的代码获取任何城市的时区偏移量,但是如果“ TimeZoneid”(“城市”)错误或PHP完全不支持,我想触发一个动作

<?php

$dtz          = new DateTimeZone('Europe/Berlin');
$time_in_city = new DateTime('now', $dtz);
$TimeZone     =  $dtz->getOffset( $time_in_city );

if(empty($TimeZone)){
    echo "Timezoneid is wrong or not Supported";
}

else{
    echo "Timezoneid offset is $TimeZone";
}

?>

当我尝试编写错误的TimeZoneid来测试我的代码时,该代码不返回任何内容

$dtz = new DateTimeZone('Europe/Blablabla');

但是我想让代码告诉我这个城市是错误的还是不被支持。

1 个答案:

答案 0 :(得分:0)

尝试以下代码:
使用try catch来测试此应用程序

<?php
try{
    $dtz =          new DateTimeZone('Europe/Blablabla');
    $time_in_city = new DateTime('now', $dtz);
    $TimeZone     =  $dtz->getOffset( $time_in_city );
    echo "Timezoneid offset is $TimeZone";

}
catch(Exception $e){
    echo "Timezoneid is wrong or not Supported";
}
?>