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];
啊。我瞎了。这似乎不是编程的好日子。谢谢你的快速回复。