akv*_*akv 5 iphone format cocoa datetime
基本上,我从API获取日期时间字符串,我想在应用程序中显示此活动发生在"5小时前"或"3天前",依此类推......
我目前正在尝试从[NSDate timeIntervalSinceNow]方法中获取NSTimeInterval .然后再使用将时间间隔转换为NSDate [NSDate dateWithTimeIntervalSince1970:interval].然后检查间隔,看它是否小于60/3600/86400 /等,为输出NSDateFormatter对象设置正确的格式.
这是正确的方法吗?或者有更简单/更好的方法吗?
为此使用NSCalendar要好得多.它专为此类转换而设计.
NSUInteger desiredComponents = NSYearCalendarUnit | NSMonthCalendarUnit | NSWeekCalendarUnit | NSHourCalendarUnit | NSDayCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *elapsedTimeUnits = [[NSCalendar currentCalendar] components:desiredComponents
fromDate:activityDate
toDate:[NSDate date]
options:0];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1484 次 |
| 最近记录: |