[Nostromo] Simplify timeDiff calculation

This commit is contained in:
Andrés Montañez 2017-01-11 17:50:02 -03:00
parent c2b83428f0
commit f407e9d92d
2 changed files with 13 additions and 29 deletions

View file

@ -95,32 +95,16 @@ class Utils
return 'a week ago'; return 'a week ago';
} }
if ($diff->days > 1) { if ($diff->days >= 1) {
return sprintf('%d days ago', $diff->days); return sprintf('%d day(s) ago', $diff->days);
} }
if ($diff->days == 1) { if ($diff->h >= 1) {
return 'one day ago'; return sprintf('%d hour(s) ago', $diff->h);
} }
if ($diff->h > 1) { if ($diff->i >= 1) {
return sprintf('%d hours ago', $diff->h); return sprintf('%d minute(s) ago', $diff->i);
}
if ($diff->h == 1) {
return 'one hour ago';
}
if ($diff->i > 1) {
return sprintf('%d minutes ago', $diff->i);
}
if ($diff->i == 1) {
return 'one minute ago';
}
if ($diff->s >= 10) {
return sprintf('%d seconds ago', $diff->s);
} }
return 'just now'; return 'just now';

View file

@ -48,31 +48,31 @@ class UtilsTest extends TestCase
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-45 seconds'); $dateTime->modify('-45 seconds');
$this->assertEquals('45 seconds ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('just now', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-90 seconds'); $dateTime->modify('-90 seconds');
$this->assertEquals('one minute ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('1 minute(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-30 minutes'); $dateTime->modify('-30 minutes');
$this->assertEquals('30 minutes ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('30 minute(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-1 hour'); $dateTime->modify('-1 hour');
$this->assertEquals('one hour ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('1 hour(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-10 hours'); $dateTime->modify('-10 hours');
$this->assertEquals('10 hours ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('10 hour(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-1 day'); $dateTime->modify('-1 day');
$this->assertEquals('one day ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('1 day(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-3 days'); $dateTime->modify('-3 days');
$this->assertEquals('3 days ago', $utils->getTimeDiff($dateTime)); $this->assertEquals('3 day(s) ago', $utils->getTimeDiff($dateTime));
$dateTime = new DateTime(); $dateTime = new DateTime();
$dateTime->modify('-7 days'); $dateTime->modify('-7 days');