我创建 someting 给用户提交一个帖子,它有一个到期日期不显示,如果用户在系统中仍然有效,则 imtring 覆盖帖子到期日期,如果用户的日期大于帖子到期日期和今天的日期,让帖子处于活动状态,
在这里,我将用户的到期日期设置为将来,但我尝试了较旧的时间,这两个都恢复了我这个post have time to expire
我在这一点上卡住和困惑,对不起,如果有不好的打字。谢谢
注意
谢谢所有这些代码都在工作
$links_user = 'testuser';
$d_vexpdate = new DateTime('2014-09-05');// user valid until date
$d_postexp = new DateTime('2014-08-20');// post expire date 2 weeks later
$d_postpub = new DateTime('2014-08-06');// post submit date
$d_today = new DateTime();
$d_old = new DateTime('-14 day');
if ($d_vexpdate > $d_today && $d_postexp < $d_today){
ec "<br> post expire is great than today :)<br>";
}
}else {
ec "o expired - ".$links_user;
}
strtotime('-14 days')
包括当前时间,因此给出例如 2014-08-06 00:01:15 的时间戳,其中strtotime('2014-08-06')
将时间值保留为零,因为它们没有指定,即 2014-08-06 00:00:00 的时间戳,因此小于到期时间戳,导致第一个条件为真。
尝试使用内置的 DateTime 类来帮助这个:
//...
$d_postpub = DateTime::createFromFormat('Y-m-d H:i:s', '2014-08-06 00:00:00');
$cutoff = new DateTime('-14 days'); $cutoff->setTime(0,0,0);
if($d_postpub<$cutoff){
//...
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(78条)