我有NSString * DateString值“01-10-2013 09:43:45”
我希望Formate和它的代码约会
NSDateFormatter * DateFormatter = [[NSDateFormatter alloc]init];
DateFormatter.dateFormat=@"MM-dd-yyyy HH:mm:ss";
NSDate * Date =[DateFormatter dateFromString:DateString];
但是当我记录日期它的价值是2013-01-10 07:43:45 +0000 请帮忙
答案 0 :(得分:4)
您需要将NSDateFormatter
设置为正确的时区。
如果输入字符串是“本地时间”,请使用:
NSDateFormatter *DateFormatter = [[NSDateFormatter alloc]init];
[DateFormatter setTimeZone:[NSTimeZone systemTimeZone]]; // <--- Set to local time
DateFormatter.dateFormat=@"MM-dd-yyyy HH:mm:ss";
NSDate * Date =[DateFormatter dateFromString:DateString];
如果输入字符串是UTC / GMT,那么请改用:
NSDateFormatter *DateFormatter = [[NSDateFormatter alloc]init];
[DateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; // <--- Set to UTC
DateFormatter.dateFormat=@"MM-dd-yyyy HH:mm:ss";
NSDate * Date =[DateFormatter dateFromString:DateString];
答案 1 :(得分:0)
尝试设置区域设置
...
[DateFormatter setLocale:[NSLocale currentLocale]];
...
但如果你想剪切“+0000”字符串,你可以使用
[s substringToIndex:s.length - 5];