欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-19 19:02:52
...
利用 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. }
复制代码