Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.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
Iphone 无法从字符串转换为NSDate_Iphone_Nsdateformatter - Fatal编程技术网

Iphone 无法从字符串转换为NSDate

Iphone 无法从字符串转换为NSDate,iphone,nsdateformatter,Iphone,Nsdateformatter,下面是从服务器接收的日期字符串 2012-07-05T11:18:00-04:00 or 2012-12-05T10:26:00-05:00 据我所知,04:00和05:00是数字时区偏移。它们可能是+04:00或+05:00 我的问题是: 如果时区偏移量现在发生变化,如何为NSDateFormat设置setDateFormat 如果你有任何线索,请在这个问题上给我建议 欢迎大家在此发表意见 编辑: 如果我这样做: NSDateFormatter *format

下面是从服务器接收的日期字符串

2012-07-05T11:18:00-04:00 or 2012-12-05T10:26:00-05:00
据我所知,04:00和05:00是数字时区偏移。它们可能是+04:00或+05:00

我的问题是:

如果时区偏移量现在发生变化,如何为
NSDateFormat
设置
setDateFormat

如果你有任何线索,请在这个问题上给我建议

欢迎大家在此发表意见

编辑: 如果我这样做:

NSDateFormatter *format                 =   [[NSDateFormatter alloc] init];
[format setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'-'04':'00"];

如果日期字符串是
2012-12-05T10:26:00-05:00
,它将不起作用。因此,我正在寻找一种通用格式,以便它可以在这两种情况下都起作用

尝试
@“yyyy-MM-dd't'HH:MM:ssZZZ”
或者
@“yyyy-MM-dd't'HH:MM:ss-ZZZ”
作为setDateFormat:参数。

NSData还是NSDate?请提供您正在尝试执行的操作的代码示例。啊,我开始想知道每日NSDateFormatter问题发生了什么——已经好几天没有看到它了。(有一个标准问题,当处理带有时区偏移的时间戳时,您必须先删除“:”,然后再尝试使用NSDateFormatter解析它。)我认为我们不需要在解析它之前删除:。它可以很好地处理:如果要解析时区,需要删除“:”。您使用的解析字符串没有解析时区,但忽略了它,这意味着您丢失了时间戳中的小时信息。“ZZZ”解析时区。请参阅“Apple Data Formatting Guide::Date Formatters”(从时区中删除“:”)。我们是否应该删除@“yyy”-“MM”-“dd'T'HH”:“MM”:“ss ZZZ”@ttran--通常不需要单引号来分隔非字母数字文本。@HotLicks:您提到过“:”应该删除,第一个还是第二个或第三个或全部