【发布时间】:2011-11-23 14:49:01
【问题描述】:
我有一个返回 JSON 对象的 Web 服务。响应由 UNIX 时间戳(毫秒)格式的 refreshTime 组成。我通过以下代码将 UNIX 时间戳转换为 NSDate:
NSDate *date = [NSDate dateWithTimeIntervalSince1970:[[timeInUNIX objectAtIndex:i]doubleValue]/1000];
这给了我一个时间格式
2009-11-13 19:47:49 +0000
我只对这里的日期对象感兴趣。这很重要,因为日期在 NSSortDescriptor 中使用,并且在 tableview 中也用作部分标题,因此我使用以下代码分隔日期和时间:
+ (NSDate *)dateWithOutTime:(NSDate *)datDate {
if( datDate == nil ) {
datDate = [NSDate date];
}
NSDateComponents* comps = [[NSCalendar currentCalendar] components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:datDate];
return [[NSCalendar currentCalendar] dateFromComponents:comps];
}
这里的问题是返回的 NSDate 对象仍然包含垃圾时间值。有没有办法只存储 NSDate 格式的日期?
有人可以帮我解决这个问题吗?
问候, 爱看
【问题讨论】:
-
我会将此方法更改为驻留在 NSDate 上的一个类别中。称之为谎言
[myDate dateWithOutTime];
标签: objective-c cocoa-touch nsdate nsdateformatter