PHP programmers often need to calculate various times in daily development, often some of which are more complicated. We have specially compiled the following commonly used ones and recommend collecting them. More detailed operation functions are integrated with the self-retrieval https://github.com/xmgb-cj/date
1. Get the first and last day of the previous month
echo date('Y-m-01', strtotime('-1 month')); echo date('Y-m-t', strtotime('-1 month'));
2. Get the first and last day of the month
$BeginDate=date('Y-m-01', strtotime(date("Y-m-d"))); echo $BeginDate; echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day"));
3. Get the year, month, day and number of days
echo " 本月共有:".date("t")."天"; echo " 当前年份".date('Y'); echo " 当前月份".date('m'); echo " 当前几号".date('d');
4. Get the first day and last day of the week Last day
//当前日期 $sdefaultDate = date("Y-m-d"); //$first =1 表示m每周星期一为开始日期 0表示每周日为开始日期 $first = 1; //获取当前周的第几天 周日是 0 周一到周六是 1 - 6 $w = date('w', strtotime($sdefaultDate)); //获取本周开始日期,如果$w是0,则表示周日,减去 6 天 $week_start = date('Y-m-d', strtotime("$sdefaultDate -".($w ? $w - $first : 6).' days')); //本周结束日期 $week_end = date('Y-m-d',strtotime("$week_start +6 days"));
5. Determine the day of the week the current date is
$weekarray=array("日","一","二","三","四","五","六"); echo "星期".$weekarray[date("w")];
6. Calculate the number of days difference between two dates
<?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day2 * @return number */ function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = strtotime($day2); if ($second1 < $second2) { $tmp = $second2; $second2 = $second1; $second1 = $tmp; } return ($second1 - $second2) / 86400; } $day1 = "2013-07-27"; $day2 = "2013-08-04"; $diff = diffBetweenTwoDays($day1, $day2); echo $diff."\n";
1. Integrated a more powerful time operation library, download it by yourself https://github.com/xmgb-cj/date. In some projects in social scenarios, for example, users publish dynamic content that requires humanized display. For humanized display of release time, such as 1 minute ago, 1 hour ago, 1 month ago, etc., you can use the following function in the library
$time = new Time(); $resp = $time->timeDiff('2020-04-30 12:00:00'); var_dump($resp);
2. Another example is to calculate the difference between two times, we get To find out the difference in days, months, quarters, and years, you can use the following code to get the difference in months, which is controlled by the second parameter.
$date = '2020-01-30'; $month = floor(abs($time->dateDiff($date, 'M')));
3. Determine the stem, branch and zodiac sign to which the date belongs
$time = new Time(); echo $time->magicInfo('XZ'); //得到今天的星座
There are still many such time and date operation functions in development. One of the more commonly used methods is to determine whether a specified date is a working day. Most of this online interface is not available. Personally, it is recommended to maintain a holiday data table yourself. It can be maintained once a year when the country announces legal holidays.
The above is the detailed content of Collection of common date and time operations in PHP. For more information, please follow other related articles on the PHP Chinese website!