DateHelper.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. namespace common\helpers;
  3. use Yii;
  4. /**
  5. * 日期助手类
  6. */
  7. class DateHelper
  8. {
  9. /**
  10. * 日期列表
  11. * @param string $beginDatetime 开始日期,日期时间格式,如2017-08-28 15:11:39
  12. * @param string $endDatetime 结束日期
  13. * @return array
  14. */
  15. public static function getDaily($beginDatetime, $endDatetime)
  16. {
  17. $beginTime = strtotime($beginDatetime);
  18. if (!$beginTime) {
  19. return [];
  20. }
  21. $endTime = strtotime($endDatetime);
  22. if (!$endTime) {
  23. return [];
  24. }
  25. $list = [];
  26. while ($beginTime <= $endTime) {
  27. $list[] = date('Y-m-d', $beginTime);
  28. $beginTime = strtotime('+1 days midnight', $beginTime);
  29. }
  30. return $list;
  31. }
  32. /**
  33. * 从昨天起,日期列表
  34. * @param string $date 日期,日期时间格式,如2017-08-28 15:11:39
  35. * @return array
  36. */
  37. public static function getDailyYesterday($date)
  38. {
  39. $now = strtotime(date("Y-m-d",strtotime('-1 days')));
  40. $start = strtotime($date);
  41. $temp = $start;
  42. $list = [];
  43. $i = 0;
  44. while ($now >= $temp) {
  45. $temp = strtotime("+$i days", $start);
  46. $list[] = date('Y-m-d', $temp);
  47. $i++;
  48. }
  49. return $list;
  50. }
  51. /**
  52. * 把时间戳转成日期时间格式
  53. * @param int $timestamp
  54. * @return string
  55. */
  56. public function convertTime($timestamp)
  57. {
  58. $timestamp = (int) $timestamp;
  59. if (!$timestamp) {
  60. return '';
  61. }
  62. $datetime = date('Y-m-d H:i:s', $timestamp);
  63. if (!$datetime) {
  64. return '';
  65. }
  66. return $datetime;
  67. }
  68. }