NSDateFormatter日期时间格式为时区冒号

kdb*_*las 5 iphone cocoa-touch

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

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

我的日期格式字符串目前是yyyy-MM-dd'T'HH:mm:ssZZZ

问题是时区中的冒号.

ZZZ返回一个字符串,如:-0700(没有冒号)如何在时区中使用冒号转换字符串?

谢谢

Ada*_*ach 3

我建议进行一些字符串操作,以便它采用一种dateWithString更容易接受的形式 - 使用stringByReplacingOccurrencesOfString一次或多次来摆脱冒号怎么样?

\n\n

dateWithString 想要:

\n\n
YYYY-MM-DD HH:MM:SS \xc2\xb1HHMM\n
Run Code Online (Sandbox Code Playgroud)\n\n

你有:

\n\n
yyyy-MM-dd'T'HH:mm:ssZZZ\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可能需要使用 ComponentsSeparatedByString 的某种组合(以摆脱“T”部分,除非您有 T 可能的小范围值,并且可能自己编写一个小函数将 ssZZZ 转换为 +HHMM。

\n