Iphone 日期/时间的NSDateFormatter日期格式,时区中带冒号

Iphone 日期/时间的NSDateFormatter日期格式,时区中带冒号,iphone,cocoa-touch,Iphone,Cocoa Touch,我在将日期/时间字符串转换为NSDate时遇到问题 我需要转换的日期字符串是:2002-12-24T00:00:00-07:00 我的日期格式字符串当前为yyyy-MM-dd'T'HH:MM:ssZZZ 问题是时区中的冒号 ZZZ返回一个类似:-0700的字符串(不带冒号) 如何转换时区中带有冒号的字符串 谢谢我建议做一些字符串操作,这样它的形式就更容易被dateWithString接受-使用stringByReplacingOccurrencesOfString一次或多次来去掉冒号怎么样 da

我在将日期/时间字符串转换为NSDate时遇到问题

我需要转换的日期字符串是:2002-12-24T00:00:00-07:00

我的日期格式字符串当前为yyyy-MM-dd'T'HH:MM:ssZZZ

问题是时区中的冒号

ZZZ返回一个类似:-0700的字符串(不带冒号) 如何转换时区中带有冒号的字符串


谢谢

我建议做一些字符串操作,这样它的形式就更容易被
dateWithString
接受-使用
stringByReplacingOccurrencesOfString
一次或多次来去掉冒号怎么样

dateWithString需要:

YYYY-MM-DD HH:MM:SS ±HHMM
你有:

yyyy-MM-dd'T'HH:mm:ssZZZ

您可能需要使用一些由字符串分隔的组件组合(为了去掉“T”部分,除非你有一个小范围的T值,也许你可以自己编写一个小函数将ssZZZ转换成+HHMM。

T将处理T,所以我只需要去掉时区部分之间的冒号。我担心这是解决问题的“简单”方法,但不是正确的方法因为我的字符串的格式总是一样的,所以我可以通过替换字符串来生成字符串。使用字符串:选项:范围:并将范围设置为长度为1,距离字符串末尾3。我有一个与您完全相同的字符串(2002-12-24T00:00-07:00),但我的相同日期格式化程序“yyyy-MM-dd'T'HH:MM:ssZZZ”,无论输入字符串中是否包含“:”。是否有任何更改?