iOs - NSDateFormatter 错误

iOs - error with NSDateFormatter

我有一个值为 2015-05-31 22:00:00 UTC 的日期(我从一个值为 "01-06-2015" 的 NSString 解析它并给出该值),当我解析它时它变成 01-06 为什么? ?

我需要在下一个日期获取值 = 2015-06-1 22:00:00 UTC 因为我需要获取星期几

代码:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"es_ES"];

[dateFormatter setDateFormat:@"dd-MM-yyyy"];
[dateFormatter setLocale:enUSPOSIXLocale];

NSDate *nextDate = [theCalendar dateByAddingComponents:comps2 toDate:date2 options:0];

NSString* primeraFecha = [dateFormatter stringFromDate:nextDate];

运行时的值

您应该设置格式化程序的时区:

[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

试试这个代码,

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:[[NSTimeZone alloc] initWithName:@"Europe/London"]];
return [dateFormatter dateFromString:dateString];