1. 程式人生 > >php 獲取月第一天和最後一天

php 獲取月第一天和最後一天

藉助於date和strtotime函式,可以輕鬆的獲取本月、下月以及上月的第一天和最後一天,下面分別給出其實現。其中函式的引數date格式為yyyy-MM-dd。

1、給定一個日期,獲取其本月的第一天和最後一天

function getCurMonthFirstDay($date) {
    return date('Y-m-01', strtotime($date));
}

function getCurMonthLastDay($date) {
    return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' +1 month -1 day'));
}

2、給定一個日期,獲取其下月的第一天和最後一天

function getNextMonthFirstDay($date) {
    return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' +1 month'));
}

function getNextMonthLastDay($date) {
    return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' +2 month -1 day'));
}

3、給定一個日期,獲取其下月的第一天和最後一天

function getPrevMonthFirstDay($date) {
    return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' -1 month'));
}

function getPrevMonthLastDay($date) {
    return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' -1 day'));
}

其中strtotime函式引數“+1 month”,php會根據具體月份來確定增加多少天,可能是28、29(2月)、30(小月)或 31(大月);某月的第一天 “-1 day” 自然就是上個月最後一天,php也會根據月來智慧確定是28、29、30或31。