当前位置: 移动技术网 > IT编程>移动开发>IOS > iOS开发Debug之date转换string-8小时问题

iOS开发Debug之date转换string-8小时问题

2018年03月10日  | 移动技术网IT编程  | 我要评论

侠盗一号迅雷下载,只要有你吉他谱,第一文学

1.转换string多了8小时
?- (NSString*)dateAsString:(NSDate*)date {


NSTimeZone *timeZone=[NSTimeZonetimeZoneWithName:@"UTC"];


NSDateFormatter *formatter=[[NSDateFormatteralloc] init];


[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];


[formatter setTimeZone:timeZone];


NSString * timeString = [formatter stringFromDate:date];


return timeString;


}



使用方法:timeString = [self dateAsString:date];


原因:无论环境是使用12小时制还是24小时制,yyyy-MM-dd HH:mm:ss返回都是24小时制。设置TimeZone为UTC ,这样使得转换时间不会出现8小时误差


?2.转换string少了8小时
?- (NSString*)dateAsString:(NSDate*)date {


NSDateFormatter *formatter=[[NSDateFormatter alloc]init];


formatter.dateFormat=@"yy-MM-dd HH:mm:ss";


NSString *timeStr=[formatter stringFromDate:date];


NSTimeZone *timeZone=[NSTimeZone systemTimeZone];


NSInteger seconds=[timeZone secondsFromGMTForDate:date];


NSDate *newDate=[date dateByAddingTimeInterval:seconds];


NSString *newTimeStr=[formatter stringFromDate:newDate];


return timeString;


}



使用方法:timeString = [self dateAsString:date];

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网