您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP判断某一天在指定日期的前还是后_PHP教程

2024/3/20 19:23:04发布18次查看
有这么一个需求,指定日期是12月12日,在12月12号前我要执行a事件,在其后要执行b事件,怎样判断今天是在12月12日的前还是后?
程序如下:
$month) || ($thismonth == $month && $thisday > $day) || $thisyear > $year) { echo '已经过了';} elseif ($thismonth == $month && $thisday == $day && $thisyear == $year) { echo '就是今天了';} else { echo '还没到';}?>
下面是带注释的代码:
//你还需要知道的另一个变量是年份,不过依你的意思应该是当年。$timestamp = time();$dateyear = date('y', $timestamp);//当前年,依当前需要可以不需要比较,但有时也许会用到,比如你的记录不是当年要处理的$datemonth = date('n', $timestamp);//当前月份数字,没有前导零$dateday = date('j', $timestamp);//月份中的第几天,没有前导零//剩下的就是比较了,比如你要比较的日期是 2007-03-01$eventdate = '2007-03-01';$eventdatearr = explode('-', $eventdate);$eventyear = intval($eventdatearr[0]);$eventmonth = intval($eventdatearr[1]);$eventday = intval($eventdatearr[2]);//上面是年月日的拆分,根据实际情况可以调整,如果你直接可以得到就不需要这样取了。//之后剩下的就是比较了,先比较年if($dateyear == $eventyear) { //同年 if($datemonth == $eventmonth) { //同月 if($dateday == $eventday) { //同一天,就是当前日期就是事件触发的日期 } elseif($dateday > $eventday) { //事件已经过期了 } else { //事件触发日期还没到 } } else { //之前或之后,再需要详细判断可以在这里比较哪个月份大 }} else { //之前或之后,再需要详细判断可以在这里比较哪个年份大}//其实这种比较是最简单的逻辑判断,如果你在记录时间触发日期时记录的是 unix 时间戳,这里可以直接进行时间戳比较不过需要处理一下,因为时间戳是精确到秒的//或者把你记录的日期及其后一天直接转化成 unix 时间戳,时分秒都用 0 ,和当前时间戳比较,细节判断就自己去分析吧,可用函数去查查手册里面 strtotime() ,时间相关函数参数很多,不过用过几次就熟悉了。
http://www.bkjia.com/phpjc/752485.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/752485.htmltecharticle有这么一个需求,指定日期是12月12日,在12月12号前我要执行a事件,在其后要执行b事件,怎样判断今天是在12月12日的前还是后? 程序如下...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product