PHP判断某一天在指定日期的前还是后
有这么一个需求,指定日期是12月12日,在12月12号前我要执行A事件,在其后要执行B事件,怎样判断今天是在12月12日的前还是后?
程序如下:
<?php $year = 2010; $month = 12; // 月 $day = 12; // 日 $timeoffset = 8; // 与格林尼治时间 GMT 的时差 list($thisyear, $thismonth, $thisday) = explode('-', date('Y-n-j', time() + $timeoffset * 3600)); if(($thismonth > $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() ,时间相关函数参数很多,不过用过几次就熟悉了。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Golang time conversion: How to convert timestamp to string In Golang, time operation is one of the very common operations. Sometimes we need to convert the timestamp into a string for easy display or storage. This article will introduce how to use Golang to convert timestamps to strings and provide specific code examples. 1. Conversion of timestamps and strings In Golang, timestamps are usually expressed in the form of integer numbers, which represent the number of seconds from January 1, 1970 to the current time. The string is

If you're looking for a way to automatically create and name files and folders based on system timestamps, you've come to the right place. There is a super simple way to accomplish this task. The created folders or files can then be used for various purposes such as storing file backups, sorting files based on date, etc. In this article, we will explain in some very simple steps how to automatically create files and folders in Windows 11/10 and name them according to the system’s timestamp. The method used is a batch script, which is very simple. Hope you enjoyed reading this article. Section 1: How to automatically create and name a folder based on the current timestamp of the system Step 1: First, navigate to the parent folder where you want to create the folder,

Java document interpretation: Usage analysis of the currentTimeMillis() method of the System class, specific code examples are required. In Java programming, the System class is a very important class, which encapsulates some properties and operations related to the system. Among them, the currentTimeMillis method is a very commonly used method in the System class. This article will explain the method in detail and provide code examples. 1. Overview of currentTimeMillis method

In Go, you can use regular expressions to match timestamps: compile a regular expression string, such as the one used to match ISO8601 timestamps: ^\d{4}-\d{2}-\d{2}T \d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . Use the regexp.MatchString function to check if a string matches a regular expression.

Change Date Format in Excel Using Number Format The easiest way to remove time from a date in Excel is to change the number format. This does not remove the time from the timestamp - it just prevents it from displaying in your cell. If you use these cells in calculations, the time and date are still included. To change the date format in Excel using number format: Open your Excel spreadsheet. Select the cell containing your timestamp. In the main menu, select the down arrow at the end of the number format box. Choose a date format. After changing the format, the time will stop appearing in your cells. If you click on one of the cells, the time format is still visible in the formula bar. Use cell formatting

Golang Programming Tool: Best Practices for Timestamp Obtaining Introduction: In software development, timestamp is a very common concept. It is a numeric value that identifies the occurrence of a specific event, usually representing the number of milliseconds or nanoseconds since some reference point in time. In Golang, processing timestamps is very simple and efficient. This article will introduce the best practices for obtaining timestamps in Golang and provide specific code examples. Text: Get the current timestamp In Golang, getting the current timestamp is very simple. we can

Timestamp handling in PHP: How to format a timestamp into a localized date time using the strftime function When developing PHP applications, we often need to deal with dates and times. PHP provides powerful date and time processing functions, among which the strftime function allows us to format timestamps into localized date and time. The strftime function has the following syntax: strftime(string$format[,int$timestamp=ti

Timestamp in PHP is an integer form representing time, usually the number of seconds that have passed since the first year of Unix (January 1, 1970 00:00:00 GMT). In programming, we often need to convert timestamps into other forms of integers. Here we will introduce how to convert PHP timestamps into integers, as well as specific code examples. In PHP, we can use the strtotime() function to convert the time string to a timestamp and then use date
