From ea765437ef52e86f3f35ee421cde843d20c6fc31 Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Fri, 3 Aug 2018 10:25:22 -0400 Subject: [PATCH] Improve date formatting perf. --- Signal/src/util/DateUtil.m | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Signal/src/util/DateUtil.m b/Signal/src/util/DateUtil.m index ad9c954bf..9f74a0195 100644 --- a/Signal/src/util/DateUtil.m +++ b/Signal/src/util/DateUtil.m @@ -259,14 +259,20 @@ static NSString *const DATE_FORMAT_WEEKDAY = @"EEEE"; + (NSString *)formatDateShort:(NSDate *)date { + OWSAssertIsOnMainThread(); OWSAssert(date); + NSDate *now = [NSDate date]; + NSInteger dayDifference = [self daysFromFirstDate:date toSecondDate:now]; + BOOL dateIsOlderThanToday = dayDifference > 0; + BOOL dateIsOlderThanOneWeek = dayDifference > 6; + NSString *dateTimeString; if (![DateUtil dateIsThisYear:date]) { dateTimeString = [[DateUtil dateFormatter] stringFromDate:date]; - } else if ([DateUtil dateIsOlderThanOneWeek:date]) { + } else if (dateIsOlderThanOneWeek) { dateTimeString = [[DateUtil monthAndDayFormatter] stringFromDate:date]; - } else if ([DateUtil dateIsOlderThanToday:date]) { + } else if (dateIsOlderThanToday) { dateTimeString = [[DateUtil shortDayOfWeekFormatter] stringFromDate:date]; } else { dateTimeString = [[DateUtil timeFormatter] stringFromDate:date];