diff --git a/WordPress/Classes/NSDate+StringFormatting.m b/WordPress/Classes/NSDate+StringFormatting.m index f5709da3eebe..fc041d427671 100644 --- a/WordPress/Classes/NSDate+StringFormatting.m +++ b/WordPress/Classes/NSDate+StringFormatting.m @@ -12,19 +12,23 @@ @implementation NSDate (StringFormatting) - (NSString *)shortString { NSString *shortString; - NSTimeInterval diff = [[NSDate date] timeIntervalSince1970] - [self timeIntervalSince1970]; - - if(diff < 60) { - shortString = [NSString stringWithFormat:@"%is", (int)diff]; - } else if(diff < 3600) { - shortString = [NSString stringWithFormat:@"%im", (int)floor(diff / 60)]; - } else if (diff < 86400) { - shortString = [NSString stringWithFormat:@"%ih", (int)floor(diff / 3600)]; - } else { - shortString = [NSString stringWithFormat:@"%id", (int)floor(diff / 86400)]; - } - - return shortString; + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *dateComponents = [calendar components:NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit + fromDate:self + toDate:[NSDate date] + options:0]; + + if (dateComponents.day > 0) { + shortString = [NSString stringWithFormat:NSLocalizedString(@"%id", @"Days duration single character abbreviation"), dateComponents.day]; + } else if (dateComponents.hour > 0) { + shortString = [NSString stringWithFormat:NSLocalizedString(@"%ih", @"Hours duration single character abbreviation"), dateComponents.hour]; + } else if (dateComponents.minute > 0) { + shortString = [NSString stringWithFormat:NSLocalizedString(@"%im", @"Minutes duration single character abbreviation"), dateComponents.minute]; + } else { + shortString = [NSString stringWithFormat:NSLocalizedString(@"%is", @"Seconds duration single character abbreviation"), dateComponents.second]; + } + + return shortString; } @end