根据指定日期与现在日期时间对比相差几周几月
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#define knewsTimeFormat @"yyyyMMddHHmmss" //你要传过来日期的格式 #define kLocaleIdentifier @"en_US" // 发布时间 - ( NSString *)newsTime:( NSString *)newsTimes { NSDateFormatter *formatter = [[ NSDateFormatter alloc ] init ]; formatter .dateFormat = knewsTimeFormat; formatter .locale = [[ NSLocale alloc ] initWithLocaleIdentifier :kLocaleIdentifier]; NSDate *date = [formatter dateFromString :newsTimes]; NSDate *now = [ NSDate date ]; // 比较帖子发布时间和当前时间 NSTimeInterval interval = [now timeIntervalSinceDate :date]; NSString *format; if (interval <= 6 0 ) { format = @"刚刚" ; } else if (interval <= 6 0 * 6 0 ){ format = [ NSString stringWithFormat : @"发布于前%.f分钟" , interval/ 6 0 ]; } else if (interval <= 6 0 * 6 0 * 2 4 ){ format = [ NSString stringWithFormat : @"发布于前%.f小时" , interval/ 3 6 0 0 ]; } else if (interval <= 6 0 * 6 0 * 2 4 * 7 ){ format = [ NSString stringWithFormat : @"发布于前%d天" , ( int )interval/( 6 0 * 6 0 * 2 4 )]; } else if (interval > 6 0 * 6 0 * 2 4 * 7 & interval <= 6 0 * 6 0 * 2 4 * 3 0 ){ format = [ NSString stringWithFormat : @"发布于前%d周" , ( int )interval/( 6 0 * 6 0 * 2 4 * 7 )]; } else if (interval > 6 0 * 6 0 * 2 4 * 3 0 ){ format = [ NSString stringWithFormat : @"发布于前%d月" , ( int )interval/( 6 0 * 6 0 * 2 4 * 3 0 )]; } formatter .dateFormat = format; return [formatter stringFromDate :date]; } |