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:您提到过“:”应该删除,第一个还是第二个或第三个或全部