php获取某个时间所在的月份的开始结束时间,所在周的开始结束时间。
/** * 获取某个时间戳所在的月份的开始时间戳和结束时间戳 * @param int $timestamp * @return array */ function getMonthBeginAndEnd($timestamp = 0) { !$timestamp && $timestamp = time(); $year = date('Y', $timestamp); $month = date('m', $timestamp); $d = date('t', strtotime($year . '-' . $month)); return ['begin' => strtotime($year . '-' . $month), 'end' => mktime(23, 59, 59, $month, $d, $year)]; }
/** * 获取某个时间戳所在的星期的开始时间戳和结束时间戳 * @param int $time 时间戳,默认当前时间 * @param int $first 表示每周星期一为开始日期 0表示每周日为开始日期 * @return array */ function getWeekBeginAndEnd($timestamp = 0, $first = 1) { !$timestamp && $timestamp = time(); $date = date('Y-m-d', $timestamp); $w = date('w', strtotime($date)); $begin = date('Y-m-d 00:00:00', strtotime("$date -" . ($w ? $w - $first : 6) . ' days')); $end = date('Y-m-d 23:59:59', strtotime("$begin +6 days")); return ['begin' => strtotime($begin), 'end' => strtotime($end)]; }