Rumah > php教程 > PHP源码 > 判断某一天在指定日期的前后

判断某一天在指定日期的前后

PHP中文网
Lepaskan: 2016-05-25 17:13:25
asal
1508 orang telah melayarinya

[PHP]代码 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<?php

$year = 2010;

$month = 12;  // 月

$day = 12;  // 日

$timeoffset = 8; // 与格林尼治时间 GMT 的时差

 

list($thisyear, $thismonth, $thisday) = explode(&#39;-&#39;, date(&#39;Y-n-j&#39;, time() + $timeoffset * 3600));

 

if(($thismonth > $month) || ($thismonth == $month && $thisday > $day) || $thisyear > $year) {

    echo &#39;已经过了&#39;;

} elseif ($thismonth == $month && $thisday == $day && $thisyear == $year) {

    echo &#39;就是今天了&#39;;

} else {

    echo &#39;还没到&#39;;

}

?>

Salin selepas log masuk

[PHP]代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

//你还需要知道的另一个变量是年份,不过依你的意思应该是当年。

$timestamp = time();

$dateYear = date(&#39;Y&#39;, $timestamp);//当前年,依当前需要可以不需要比较,但有时也许会用到,比如你的记录不是当年要处理的

$dateMonth = date(&#39;n&#39;, $timestamp);//当前月份数字,没有前导零

$dateDay = date(&#39;j&#39;, $timestamp);//月份中的第几天,没有前导零

 

//剩下的就是比较了,比如你要比较的日期是 2007-03-01

$eventDate = &#39;2007-03-01&#39;;

$eventDateArr = explode(&#39;-&#39;, $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() ,时间相关函数参数很多,不过用过几次就熟悉了。

Salin selepas log masuk

                   

                   

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan