我想要一个逻辑,如果$ due等于没有日期,那么我希望数据从2000开始.我的代码不起作用.
if($due == '0000-00-00 00:00:00'){
$due = strtotime('2000-00-00 00:00:00');
}
Run Code Online (Sandbox Code Playgroud)
Umb*_*lla 33
如果你在$ due中存储strtotime(),那么你也需要比较它
if($due == strtotime('0000-00-00 00:00:00')){
$due = strtotime('2000-00-00 00:00:00');
}
Run Code Online (Sandbox Code Playgroud)
或者,更简单
if($due == 0){
$due = strtotime('2000-00-00 00:00:00');
}
Run Code Online (Sandbox Code Playgroud)
但是如果$ due来自你的db作为字符串,你会想要strtotime()它:
$due = strtotime($due);
if($due == 0){
$due = strtotime('2000-00-00 00:00:00');
}
Run Code Online (Sandbox Code Playgroud)
但要注意时区.也就是说,strtotime('0000-00-0000:00:00 UTC')!= strtotime('0000-00-0000,00:00 EST').这也可能会打破你的比较.
我不知道为什么 strtotime 对我来说不能正常工作。可能是因为时区和其他原因。
一如既往,奇特的正则表达式就像一个魅力。我对它有点上瘾了!
if(preg_match("/0{4}/" , $dbDateField))
{
// no its not acceptable
}
else
{
//ok
}
Run Code Online (Sandbox Code Playgroud)