Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSDateFormatter字符串到日期的转换_Ios_Objective C_Nsdate_Nsdateformatter - Fatal编程技术网

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