NSString Date to NSDate



iOSNSString DateNSDate未显示正确的详细信息。我有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"];

最新更新