简介
PHP date() 函数用于对日期或时间进行格式化。
语法
date(format, timestamp);
// 输出当前格式化时间
date('Y-m-d H:i:s', time());
参数 | 描述 |
---|---|
format | 必需。规定时间戳的格式。 |
timestamp | 可选。规定时间戳。默认是当前时间和日期 |
转换时间戳
strtotime 函数
语法
strtotime(time, now)
示例
// 今日凌晨时间戳
strtotime(date('Y-m-d 00:00:00', time()));
mktime 函数
语法
mktime(hour, minute, second, month, day, year)
示例
// 今日凌晨时间戳
mktime(17, 53, 35, 03, 03, 2020);
设置时区
date_default_timezone_set("Asia/Shanghai");
常用时间
// 当月开始时间、结束时间
$start_time = mktime(0, 0, 0, date('m'), 1, date('Y'));
$end_time = mktime(23, 59, 59, date('m'), date('t'), date('Y'));
// 上月开始时间、结束时间
$start_time = mktime(0, 0, 0, date('m') - 1, 1, date('Y'));
$end_time = mktime(23, 59, 59, date('m') - 1, date('t', $start_time), date('Y'));
// 本周开始时间、结束时间
$start_time = strtotime(date('Y-m-d', strtotime("this week Monday", time())));
$end_time = strtotime(date('Y-m-d', strtotime("this week Sunday", time()))) + 24 * 3600 - 1;
// 上周开始时间、结束时间
$start_time = strtotime(date('Y-m-d', strtotime("last week Monday", time())));
$end_time = strtotime(date('Y-m-d', strtotime("last week Sunday", time()))) + 24 * 3600 - 1;
// 今年开始时间、结束时间
$start_time = mktime(0, 0, 0, 1, 1, date('Y'));
$end_time = mktime(23, 59, 59, 12, 31, date('Y'));
// 去年开始时间、结束时间
$start_time = mktime(0, 0, 0, 1, 1, date('Y') - 1);
$end_time = mktime(23, 59, 59, 12, 31, date('Y') - 1);
// 前1天、前30天
date('Y-m-d', strtotime("-1 day"));
date('Y-m-d', strtotime("-30 day"));
// 前24小时
date('Y-m-d', strtotime('-24 hour'));
// 近30天时间
$days = [];
for ($i = 0; $i <= 30; $i++) {
$days[] = date("Y-m-d", strtotime(' -'. $i . 'day'));
}