如何获得特定月份的第一天和最后一天
我想重写一个mysql查询使用month()和year()函数来显示从某个月的所有职位作为'Ymd'参数格式去我的函数,但我不知道我怎么能得到给定月份的最后一天。
$query_date = '2010-02-04'; list($y, $m, $d) = explode('-', $query_date); $first_day = $y . '-' . $m . '-01';
你可能想看看strtotime
和date
函数。
<?php $query_date = '2010-02-04'; // First day of the month. echo date('Ym-01', strtotime($query_date)); // Last day of the month. echo date('Ym-t', strtotime($query_date));
试试这个,如果你在PHP中使用PHP 5.3+
$query_date = '2010-02-04'; $date = new DateTime($query_date); //First day of month $date->modify('first day of this month'); $firstday= $date->format('Ym-d'); //Last day of month $date->modify('last day of this month'); $lastday= $date->format('Ym-d');
为了find下个月的最后date,修改如下,
$date->modify('last day of 1 month'); echo $date->format('Ym-d');
等等..
我知道这个问题与't'有一个很好的答案,但我认为我会添加另一个解决scheme。
$first = date("Ymd", strtotime("first day of this month")); $last = date("Ymd", strtotime("last day of this month"));
cal_days_in_month()应该给你在这个月的总天数,因此,最后一个。
// First date of the current date echo date('Ym-d', mktime(0, 0, 0, date('m'), 1, date('Y'))); echo '<br />'; // Last date of the current date echo date('Ym-d', mktime(0, 0, 0, date('m')+1, 0, date('Y')));
$month = 10; // october $firstday = date('01-' . $month . '-Y'); $lastday = date(date('t', strtotime($firstday)) .'-' . $month . '-Y');
基本上:
$lastDate = date("Ymt", strtotime($query_d));
date t参数在当月返回天数。