繁体   English   中英

如何验证 php 中的 datetime 对象是否不同于 0?

[英]How can I verify if a datetime object in php is different than 0?

在我的 php 代码中,我有一个变量:

$mytime = 0;

稍后在代码中,当我通过几个 if 语句时,在某些时候我会向这个变量添加一个新的 datetime 对象:

$mytime = new DateTime($input);

但是,这种情况会有所不同 - 有时我会添加这个值,有时我根本不接触这个变量。 然后在我的代码中,我有一个 if 语句:

if($mytime != 0) 

当这个变量有一个日期时间类型时,我收到一个错误:

Object of class DateTime could not be converted to string

我该如何更改 - 我的$mytime声明或 if 语句 - 以便在这里一切正常? 谢谢!

日期时间是一个对象。 要在解析日期 ($input) 后检查错误,您应该使用 try / catch 语句

try {
    $mytime = new DateTime($input);
} catch (Exception $e) {
    // ERRORS HERE
    print_r(DateTime::getLastErrors());
}

在比较之前,您可以先serialize($mytime)将对象转换为字符串。 所以,在你的 if 语句中这样的东西会起作用:

if (serialize($mytime) != 0) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM