PHP format the time several days ago, several minutes ago, etc.
-
- Class DateFormat
- {
- Private static $ _ DIFF_FORMAT = array (
- 'Day' => '% s days ago ',
- 'Day _ hour' => '% s DAY % s HOUR before ',
- 'Hour '=>' % s HOUR ',
- 'Hour _ MINUTE '=>' % s HOUR % s before ',
- 'Minute '=>' % s Minutes Ago ',
- 'Minute _ second' => '% s minutes % s before ',
- 'Second' => '% s before s ',
- );
- /**
- * Friendly formatting time
- *
- * @ Param int time
- * @ Param array $ formats
- * @ Return string
- */
- Public static function diff ($ timestamp, $ formats = null)
- {
- If ($ formats = null ){
- $ Formats = self: $ _ DIFF_FORMAT;
- }
- /* Calculate the time difference */
- $ Seconds = time ()-$ timestamp;
- $ Minutes = floor ($ seconds/60 );
- $ Hours = floor ($ minutes/60 );
- $ Days = floor ($ hours/24 );
- If ($ days> 0 ){
- $ DiffFormat = 'day ';
- } Else {
- $ DiffFormat = ($ hours> 0 )? 'Hour': 'Minute ';
- If ($ diffFormat = 'hour '){
- $ DiffFormat. = ($ minutes> 0 & ($ minutes-$ hours * 60)> 0 )? '_ MINUTE ':'';
- } Else {
- $ DiffFormat = ($ seconds-$ minutes * 60)> 0 & $ minutes> 0)
- ? $ DiffFormat. '_ second': 'second ';
- }
- }
- $ DateDiff = null;
- Switch ($ diffFormat ){
- Case 'day ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ days );
- Break;
- Case 'Day _ hour ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ days, $ hours-$ days * 60 );
- Break;
- Case 'hour ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ hours );
- Break;
- Case 'hour _ MINUTE ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ hours, $ minutes-$ hours * 60 );
- Break;
- Case 'Minute ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ minutes );
- Break;
- Case 'minute _ second ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ minutes, $ seconds-$ minutes * 60 );
- Break;
- Case 'second ':
- $ DateDiff = sprintf ($ formats [$ diffFormat], $ seconds );
- Break;
- }
- Return $ dateDiff;
- }
- }
- Echo DateFormat: diff ('20140901 ');
- /* 33 minutes 47 seconds ago */
|
Several days, several minutes, PHP