0
[asset valueForProperty:ALAssetPropertyDate]); 

显示错误的时间,它正确显示分钟,但小时比当前少 5。

但我的设备在状态栏中显示正确的时间。

4

1 回答 1

1

调用[asset valueForProperty:ALAssetPropertyDate]在 NSDate 中返回。NSDate 对象具有编码在其中的 timeZone。要将 NSDate 显示为 NSString,您应该使用 NSDateFormatter。

NSDate *date = [asset valueForProperty:ALAssetPropertyDate];

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSString *dateString = [dateFormatter stringFromDate:date];


[dateFormatter setDateStyle:NSDateFormatterNoStyle];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
NSString *timeString = [dateFormatter stringFromDate:date];
于 2012-12-22T13:15:42.330 回答