NSDate,NSString相互转换,解决八小时间隔问题
2012-12-27 13:42
411 查看
一、NSDate和NSString相互转换
NSDate和NSString的相互转换要用到NSDateFormatter类,具体操作如下:1.NSDate转NSString
-(NSDate*) convertDateFromString:(NSString*)dataString
{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date=[formatter dateFromString:dataString];
return date;
}
2.NSString转NSDate
-(NSString *)stringFromDate:(NSDate *)date
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//zzz表示时区,zzz可以删除,这样返回的日期字符将不包含时区信息。
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
NSString *dateString = [dateFormatter stringFromDate:date];
return dateString;
}
如果将某一字符串直接转换成NSDate,会发现实际结果与原时间相差八小时。这是因为NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间,做法如下:
- (NSDate *)localeDate:(NSDate *)date
{
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSInteger interval = [zone secondsFromGMTForDate: date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
return localeDate;
}
相关文章推荐
- NSDate和NSString相互转换
- NSDate和NSString相互转换
- iOS NSDate与NSString之间的相互转换
- 终于解决了PADS,Altium,ORCAD的相互转换问题
- NSDate 与 NSString 之间的相互转换
- CString与char[] 的相互转换方法以及结尾乱码问题的分析解决
- NSdate转换为NSString的时候,时差问题
- ArrayList和数组间的相互转换,解决数组合并问题
- CString与char[] 的相互转换方法以及结尾乱码问题的分析解决
- 终于解决了PADS,Altium,ORCAD的相互转换问题
- NSDate和NSString之间的转换以及时区的问题
- NSDate和NSString相互转换
- NSDate和NSString相互转换
- NSDate与NSString的相互转换
- 终于解决了PADS,Altium,ORCAD的相互转换问题
- sqlite中文乱码问题原因分析及解决(utf8和ascii相互转换)
- 关于Json 数据与NSString 对象相互转换问题 。
- nsdate 相互转换 nsstring.
- NSDate和NSString相互转换
- NSData NSDate NSString NSArray NSDictionary 相互转换