- (id)transformedValue:(id)value {
if (value == nil)
return nil;
- // XXX make it more like finder
- return [NSDateFormatter localizedStringFromDate:(NSDate *)value
- dateStyle:NSDateFormatterShortStyle
- timeStyle:NSDateFormatterShortStyle];
+
+ NSCalendar *calendar = [NSCalendar currentCalendar];
+ NSDateComponents *comps = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
+ [comps setHour:23];
+ [comps setMinute:59];
+ [comps setSecond:59];
+ NSTimeInterval timeInterval = [[calendar dateFromComponents:comps] timeIntervalSinceDate:(NSDate *)value];
+ if (timeInterval < 86400) {
+ // Today
+ return [NSString stringWithFormat:@"Today %@", [NSDateFormatter localizedStringFromDate:(NSDate *)value
+ dateStyle:NSDateFormatterNoStyle
+ timeStyle:NSDateFormatterShortStyle]];
+ } else if (timeInterval < 172800) {
+ // Yesterday
+ return [NSString stringWithFormat:@"Yesterday %@", [NSDateFormatter localizedStringFromDate:(NSDate *)value
+ dateStyle:NSDateFormatterNoStyle
+ timeStyle:NSDateFormatterShortStyle]];
+ } else {
+ return [NSDateFormatter localizedStringFromDate:(NSDate *)value
+ dateStyle:NSDateFormatterShortStyle
+ timeStyle:NSDateFormatterShortStyle];
+ }
}
+ (void)initialize {