| 107 | | my ($res, @parts) = ''; |
| 108 | | if ($secs > 31536000) { push @parts, int($secs / 31536000) . ' year' . ($secs >= 63072000 ? 's' : ''); $secs %= 31536000 } |
| 109 | | if ($secs > 604800) { push @parts, int($secs / 604800) . ' week' . ($secs >= 1209600 ? 's' : ''); $secs %= 604800 } |
| 110 | | if ($secs > 86400) { push @parts, int($secs / 86400) . ' day' . ($secs >= 172800 ? 's' : ''); $secs %= 86400 } |
| 111 | | if ($secs > 3600) { push @parts, int($secs / 3600) . ' hour' . ($secs >= 7200 ? 's' : ''); $secs %= 3600 } |
| 112 | | if ($secs > 60) { push @parts, int($secs / 60) . ' minute' . ($secs >= 120 ? 's' : ''); $secs %= 60 } |
| 113 | | if ($secs > 0) { push @parts, $secs . ' seconds' } |
| 114 | | return join(', ', @parts) || '0 seconds'; |
| | 116 | my @parts; |
| | 117 | |
| | 118 | for my $arrayref (@timespan_units) { |
| | 119 | my ($unit, $unit_in_seconds) = @$arrayref; |
| | 120 | next unless $secs >= $unit_in_seconds; |
| | 121 | |
| | 122 | my $n = int($secs / $unit_in_seconds); |
| | 123 | $secs %= $unit_in_seconds; |
| | 124 | |
| | 125 | push @parts, "$n $unit" . ($n > 1 ? 's' : ''); |
| | 126 | } |
| | 127 | |
| | 128 | @parts = @parts[0, 1] if @parts > 2; |
| | 129 | |
| | 130 | return +( join(', ', @parts) || '0 seconds' ) . ' ago'; |