当前位置:Gxlcms > PHP教程 > 将DateTime对象转化为友好时间显示

将DateTime对象转化为友好时间显示

时间:2021-07-01 10:21:17 帮助过:24人阅读

利用 PHP 5.x 中的 DateInterval 将 DateTime 对象转化为友好时间显示




  1. /**
  2. * 友好日期时间
  3. *
  4. * @param DateTime $datetime 日期时间
  5. * @param int $size 精确到位数
  6. * @throws \InvalidArgumentException
  7. * @return string
  8. */
  9. function friendly_date($datetime, $size=1)
  10. {
  11. if (is_int($datetime)) {
  12. $datetime = new \DateTime($datetime);
  13. }
  14. if (!($datetime instanceof \DateTime)) {
  15. throw new \InvalidArgumentException('invalid "DateTime" object');
  16. }
  17. $now = new \DateTime();
  18. $interval = $now->diff($datetime);
  19. $intervalData = array(
  20. $interval->y, $interval->m, $interval->d,
  21. $interval->h, $interval->i, $interval->s,
  22. );
  23. $intervalFormat = array('年', '个月', '天', '小时', '分种', '秒');
  24. foreach($intervalData as $index=>$value) {
  25. if ($value) {
  26. $intervalData[$index] = $value . $intervalFormat[$index];
  27. } else {
  28. unset($intervalData[$index]);
  29. unset($intervalFormat[$index]);
  30. }
  31. }
  32. return implode('', array_slice($intervalData, 0, $size));
  33. }

人气教程排行