session-ios/Signal/src/util/DateUtil.m

55 lines
1.9 KiB
Mathematica
Raw Normal View History

2014-05-06 19:41:08 +02:00
#import "DateUtil.h"
#define ONE_DAY_TIME_INTERVAL (double)60 * 60 * 24
#define ONE_WEEK_TIME_INTERVAL (double)60 * 60 * 24 * 7
2014-05-06 19:41:08 +02:00
static NSString *const DATE_FORMAT_WEEKDAY = @"EEEE";
@implementation DateUtil
+ (NSDateFormatter *)dateFormatter {
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setTimeStyle:NSDateFormatterNoStyle];
2015-02-12 23:08:57 +01:00
[formatter setDateStyle:NSDateFormatterShortStyle];
return formatter;
2014-05-06 19:41:08 +02:00
}
+ (NSDateFormatter *)weekdayFormatter {
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setLocale:[NSLocale currentLocale]];
2014-05-06 19:41:08 +02:00
[formatter setDateFormat:DATE_FORMAT_WEEKDAY];
return formatter;
2014-05-06 19:41:08 +02:00
}
+ (NSDateFormatter *)timeFormatter {
NSDateFormatter *formatter = [NSDateFormatter new];
[formatter setLocale:[NSLocale currentLocale]];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateStyle:NSDateFormatterNoStyle];
return formatter;
2014-05-06 19:41:08 +02:00
}
+ (BOOL)dateIsOlderThanOneDay:(NSDate *)date {
return [[NSDate date] timeIntervalSinceDate:date] > ONE_DAY_TIME_INTERVAL;
}
+ (BOOL)dateIsOlderThanOneWeek:(NSDate *)date {
return [[NSDate date] timeIntervalSinceDate:date] > ONE_WEEK_TIME_INTERVAL;
}
+ (BOOL)date:(NSDate *)date isEqualToDateIgnoringTime:(NSDate *)anotherDate {
static const unsigned componentFlags = (NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay);
NSDateComponents *components1 = [[NSCalendar autoupdatingCurrentCalendar] components:componentFlags fromDate:date];
NSDateComponents *components2 =
[[NSCalendar autoupdatingCurrentCalendar] components:componentFlags fromDate:anotherDate];
return ((components1.year == components2.year) && (components1.month == components2.month) &&
(components1.day == components2.day));
}
+ (BOOL)dateIsToday:(NSDate *)date {
return [self date:[NSDate date] isEqualToDateIgnoringTime:date];
}
2014-05-06 19:41:08 +02:00
@end