Ios 使用NSDateFormatter将NSString转换为NSDate>;日期远去

Ios 使用NSDateFormatter将NSString转换为NSDate>;日期远去,ios,objective-c,Ios,Objective C,正在尝试使用NSDateFormatter将日期时间从NSString转换为NSDate。我知道这应该是一项简单的任务,但事实并非如此——转换后的NSDate整整有20天休息。 我找不到原因。我已经尝试了我能找到的所有解决方案(不同的地区、时区、格式…),但到目前为止运气不佳 下面是一个代码示例: NSString *strDate = @"24.01.2014 08:17:10"; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] i

正在尝试使用
NSDateFormatter
将日期时间从
NSString
转换为
NSDate
。我知道这应该是一项简单的任务,但事实并非如此——转换后的
NSDate
整整有20天休息。 我找不到原因。我已经尝试了我能找到的所有解决方案(不同的地区、时区、格式…),但到目前为止运气不佳

下面是一个代码示例:

NSString *strDate = @"24.01.2014 08:17:10";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSLocale *locale = [NSLocale currentLocale];
[dateFormat setDateFormat:@"dd.MM.YYYY HH:mm:ss"];
[dateFormat setLocale:locale];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"CET"]];
NSDate *dte = [dateFormat dateFromString:strDate];

dte的输出为“04.01.2014 08:17:10”。正如您所看到的,时间是正确的,但日期太晚了。

您的时间格式中有一个错误,
YYYY
应该是
YYYY

NSString *strDate = @"24.01.2014 08:17:10";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
NSLocale *locale = [NSLocale currentLocale];
[dateFormat setDateFormat:@"dd.MM.yyyy HH:mm:ss"];
[dateFormat setLocale:locale];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"CET"]];
NSDate *dte = [dateFormat dateFromString:strDate];

将给我作为输出:
2014-01-2407:17:10+0000

使用以下代码

NSString *strDate = @"24.01.2014 08:17:10";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"dd.MM.yyyy HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:strDate];

啊。我瞎了。这似乎不是编程的好日子。谢谢你的快速回复。