我有 NSString * DateString 值为“01-10-2013 09:43:45”
我想从中形成日期,我的代码是
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 请帮忙
最佳答案
您需要将 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];
关于ios - 从字符串格式化日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262175/