Ios NSDateFormatter字符串到日期的转换
我需要转换Ios NSDateFormatter字符串到日期的转换,ios,objective-c,nsdate,nsdateformatter,Ios,Objective C,Nsdate,Nsdateformatter,我需要转换 3/27/2015 5:45:00 AM 字符串转换为NSDate对象 我试过这个 [dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"]; 但它不起作用 有什么我想不出来的地方 谢谢 增加代码 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"MM/dd/yyyy
3/27/2015 5:45:00 AM
字符串转换为NSDate对象
我试过这个
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
但它不起作用
有什么我想不出来的地方
谢谢
增加代码
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"]
编辑:
不知何故,这是因为时间片(AM/PM)为空。
我从dateformatter中删除了“a”,并从字符串中删除了AM。没关系。
但还是不知道“a”有什么问题?我不明白你的问题
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"];
NSLog(@"%@", tempDate); // prints "2015-03-27 09:45:00 +0000" to the console.
这是您发布的代码。我一字不差地抄了下来。我包含的
NSLog
正确地打印了日期,而不是nil
您忘记了将日期区域设置的区域设置添加到日期格式化程序中。
该代码在任何设置为US english的设备上都可以正常运行,但其他地区将失败。只需添加en_US_POSIX
作为日期格式化程序的区域设置:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"];
NSDate *tempDate = [dateFormatter dateFromString:@"3/27/2015 5:45:00 AM"];
你试过“m/dd/yyyy h:mm:ss a”吗?据我所知,日期是数字敏感的,您的月份只有一个数字,您应该使用03/。。05:…你说不工作是什么意思?使用您的格式
[dateFromatter dateFromString:@“3/27/2015 5:45:00 AM”]
为我提供了正确的输出。@JakubVano我没有得到正确的输入,我的日期是nil@erdemgc你能发布给你错误结果的全部代码吗?@JakubVano我已经添加了代码,我已经编写了硬编码的字符串,但是tempDate仍然是nil当我复制并粘贴那段代码时,输出是nil