@@ -160,9 +160,28 @@ - (void)configureTimestamp:(BOOL)displayTimestamp atMessage:(id <XHMessageModel>
160160 self.displayTimestamp = displayTimestamp;
161161 self.timestampLabel .hidden = !self.displayTimestamp ;
162162 if (displayTimestamp) {
163- self.timestampLabel .text = [NSDateFormatter localizedStringFromDate: message.timestamp
164- dateStyle: NSDateFormatterMediumStyle
165- timeStyle: NSDateFormatterShortStyle];
163+ NSString *dateText = nil ;
164+ NSString *timeText = nil ;
165+
166+ NSDate *today = [NSDate date ];
167+ NSDateComponents *components = [[NSDateComponents alloc ] init ];
168+ [components setDay: -1 ];
169+ NSDate *yesterday = [[NSCalendar currentCalendar ] dateByAddingComponents: components toDate: today options: 0 ];
170+
171+ NSDateComponents *dateComponents = [[NSCalendar currentCalendar ] components: NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate: message.timestamp];
172+ NSDateComponents *todayComponents = [[NSCalendar currentCalendar ] components: NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate: today];
173+ NSDateComponents *yesterdayComponents = [[NSCalendar currentCalendar ] components: NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate: yesterday];
174+
175+ if (dateComponents.year == todayComponents.year && dateComponents.month == todayComponents.month && dateComponents.day == todayComponents.day ) {
176+ dateText = NSLocalizedString(@" Today" , @" Today" );
177+ } else if (dateComponents.year == yesterdayComponents.year && dateComponents.month == yesterdayComponents.month && dateComponents.day == yesterdayComponents.day ) {
178+ dateText = NSLocalizedString(@" Yesterday" , @" Yesterday" );
179+ } else {
180+ dateText = [NSDateFormatter localizedStringFromDate: message.timestamp dateStyle: NSDateFormatterMediumStyle timeStyle: NSDateFormatterNoStyle];
181+ }
182+ timeText = [NSDateFormatter localizedStringFromDate: message.timestamp dateStyle: NSDateFormatterNoStyle timeStyle: NSDateFormatterShortStyle];
183+
184+ self.timestampLabel .text = [NSString stringWithFormat: @" %@ %@ " ,dateText,timeText];
166185 }
167186}
168187
0 commit comments