iOS
中NSString Date
到NSDate
未显示正确的详细信息。我有NSString date
是:
NSString *strFinal = @"2016-10-20 12:00:00";
我遵循下面的方法将NSString转换为NSDate
NSString *strFinal = @"2016-10-20 12:00:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// [dateFormatter setDateFormat:@"yyyy-mm-dd hh:mm:ss"];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:strFinal];
我的输出是:
string date is: 2016-10-20 12:00:00
NSDate为:2016-10-19 18:30:00+ 0000
它生成不同的日期和不同的格式从NSString
我想要相同的NSDate
。
任何帮助将不胜感激。由于
您有时区问题,可以通过添加这行代码来解决:
[dateformatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
也可以通过以下方式设置TimeZone
:
[dateformatter setTimeZone:[NSTimeZone systemTimeZone]];
OR
[dateformatter setTimeZone:[NSTimeZone localTimeZone]];
OR
[dateformatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
try this:
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];