Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Cocoa NSDateFormatter分析日期不正确_Cocoa_Cocoa Touch_Nsdate_Nsdateformatter - Fatal编程技术网

Cocoa NSDateFormatter分析日期不正确

Cocoa NSDateFormatter分析日期不正确,cocoa,cocoa-touch,nsdate,nsdateformatter,Cocoa,Cocoa Touch,Nsdate,Nsdateformatter,我正在从表示日期的文本中提取字符串。它们看起来像这样: 美国东部时间2010年8月16日星期一上午05:28 我正试图用NSDateFormatter解析它们。我已将其格式设置为: [dateFormatter setDateFormat:@“EEEE MMMM d,YYYY h:mm a z”] 然而,这不起作用。对于我上面给出的示例,如果我将字符串转换为日期,然后将该日期转换为字符串,则日期格式化程序将返回以下内容: 2009年12月28日星期一美国东部时间上午5:28 我做错了什么 编辑:

我正在从表示日期的文本中提取字符串。它们看起来像这样:

美国东部时间2010年8月16日星期一上午05:28

我正试图用NSDateFormatter解析它们。我已将其格式设置为:

[dateFormatter setDateFormat:@“EEEE MMMM d,YYYY h:mm a z”]

然而,这不起作用。对于我上面给出的示例,如果我将字符串转换为日期,然后将该日期转换为字符串,则日期格式化程序将返回以下内容:

2009年12月28日星期一美国东部时间上午5:28

我做错了什么

编辑:使用格式
[dateFormatter setDateFormat:@“EEEE MMMM d,y h:mm a z”]时,它似乎起作用。奇怪…

威尔

NSDateFormatter使用Unicode标准格式化日期。正如您所发现的,“y”起作用,但“yyy”不起作用。如果您看到规范(在Apple文档中引用了好几层,因此不容易找到),您会看到“Y”有这样一个注释:“年(指“一年中的一周”),用于ISO年-周日历。可能与日历年不同

我知道你自己已经修好了,但这可能有助于解释为什么“Y”不适合你。

“Y”或“yyyy”可以。“YYYY”不起作用。 查看以下链接以了解详细信息