简介

PHP date() 函数用于对日期或时间进行格式化。

语法

  1. date(format, timestamp);
  2. // 输出当前格式化时间
  3. date('Y-m-d H:i:s', time());
参数 描述
format 必需。规定时间戳的格式。
timestamp 可选。规定时间戳。默认是当前时间和日期

转换时间戳

strtotime 函数

语法
  1. strtotime(time, now)

示例
  1. // 今日凌晨时间戳
  2. strtotime(date('Y-m-d 00:00:00', time()));

mktime 函数

语法
  1. mktime(hour, minute, second, month, day, year)

示例
  1. // 今日凌晨时间戳
  2. mktime(17, 53, 35, 03, 03, 2020);

设置时区

  1. date_default_timezone_set("Asia/Shanghai");

常用时间

  1. // 当月开始时间、结束时间
  2. $start_time = mktime(0, 0, 0, date('m'), 1, date('Y'));
  3. $end_time = mktime(23, 59, 59, date('m'), date('t'), date('Y'));
  4. // 上月开始时间、结束时间
  5. $start_time = mktime(0, 0, 0, date('m') - 1, 1, date('Y'));
  6. $end_time = mktime(23, 59, 59, date('m') - 1, date('t', $start_time), date('Y'));
  7. // 本周开始时间、结束时间
  8. $start_time = strtotime(date('Y-m-d', strtotime("this week Monday", time())));
  9. $end_time = strtotime(date('Y-m-d', strtotime("this week Sunday", time()))) + 24 * 3600 - 1;
  10. // 上周开始时间、结束时间
  11. $start_time = strtotime(date('Y-m-d', strtotime("last week Monday", time())));
  12. $end_time = strtotime(date('Y-m-d', strtotime("last week Sunday", time()))) + 24 * 3600 - 1;
  13. // 今年开始时间、结束时间
  14. $start_time = mktime(0, 0, 0, 1, 1, date('Y'));
  15. $end_time = mktime(23, 59, 59, 12, 31, date('Y'));
  16. // 去年开始时间、结束时间
  17. $start_time = mktime(0, 0, 0, 1, 1, date('Y') - 1);
  18. $end_time = mktime(23, 59, 59, 12, 31, date('Y') - 1);
  19. // 前1天、前30天
  20. date('Y-m-d', strtotime("-1 day"));
  21. date('Y-m-d', strtotime("-30 day"));
  22. // 前24小时
  23. date('Y-m-d', strtotime('-24 hour'));
  24. // 近30天时间
  25. $days = [];
  26. for ($i = 0; $i <= 30; $i++) {
  27. $days[] = date("Y-m-d", strtotime(' -'. $i . 'day'));
  28. }