ホームページ  >  記事  >  バックエンド開発  >  PHP 形式は数日前、数分前などです。

PHP 形式は数日前、数分前などです。

WBOY
WBOYオリジナル
2016-07-25 08:45:21946ブラウズ
  1. class DateFormat
  2. {
  3. private static $_DIFF_FORMAT = array(
  4. 'DAY' => '%s 日前',
  5. 'DAY_HOUR' => '%s 日 %s 時間前',
  6. 'HOUR' => '%s 時間',
  7. 'HOUR_MINUTE' => '%s 時間 %s 分前',
  8. 'MINUTE' => '%s 分前',
  9. 'MINUTE_SECOND ' => '%s 分 %s 秒前',
  10. 'SECOND' => '%s 秒前',
  11. );
  12. /**
  13. * フレンドリーなフォーマットの時間
  14. *
  15. * @param int time
  16. * @param array $formats
  17. * @return string
  18. */
  19. public static function diff($timestamp, $formats = null)
  20. {
  21. if ($formats == null) {
  22. $formats = self::$_DIFF_FORMAT;
  23. }
  24. /* 時差を計算します*/
  25. $秒 = time() - $timestamp;
  26. $ 分 = フロア($秒 / 60);
  27. $時間 = フロア($分 / 60);
  28. $日 = フロア($時間 / 24);
  29. if ($日 > 0) {
  30. $diffFormat = ' DAY';
  31. } else {
  32. $diffFormat = ($hours > 0) ? 'HOUR' : 'MINUTE';
  33. if ($diffFormat == 'HOUR') {
  34. $diffFormat .= ($ minutes > 0) 0 && ($分 - $時間 * 60) > 0) ? '_MINUTE' : '';
  35. } else {
  36. $diffFormat = (($秒 - $分 * 60) > 0 && $分 > 0 )
  37. ? $diffFormat.'_SECOND' : 'SECOND';
  38. }
  39. }
  40. $dateDiff = null;
  41. switch ($diffFormat) {
  42. case 'DAY':
  43. $dateDiff = sprintf($formats[$diffFormat] , $days);
  44. Break;
  45. case 'DAY_HOUR':
  46. $dateDiff = sprintf($formats[$diffFormat], $days, $hours - $days * 60);
  47. Break;
  48. case 'HOUR':
  49. $ dateDiff = sprintf($formats[$diffFormat], $hours);
  50. ブレーク;
  51. case 'HOUR_MINUTE':
  52. $dateDiff = sprintf($formats[$diffFormat], $hours, $ minutes - $hours * 60);
  53. Break ;
  54. case 'MINUTE':
  55. $dateDiff = sprintf($formats[$diffFormat], $ minutes);
  56. Break;
  57. case 'MINUTE_SECOND':
  58. $dateDiff = sprintf($formats[$diffFormat], $ minutes, $ 秒 - $分 * 60);
  59. ブレーク;
  60. case 'SECOND':
  61. $dateDiff = sprintf($formats[$diffFormat], $秒);
  62. ブレーク;
  63. }
  64. return $dateDiff;
  65. }
  66. }
  67. echo DateFormat::diff('1310455823');
  68. /* 33 分 47 秒前*/
コードをコピー

日、分、PHP


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。