我有NSString的对象转换成的NSDate的问题。这是我想做的事: 我从互联网下载的RSS信息。我有整个NSXMLParser解析的消息。之后,我有一些部分或保存到特定的NSStrings。我想转换元件(其包括RSS消息的发布日期),以的NSDate,这样我可以像一个日期对象上就可以执行某些操作(例如排序,显示上的时钟等)。这里是我的长相喜欢的方式:NSDateFormatter dateFromString转换
“星期三,2013年9月25日12时56分57秒GMT”
我试图将其转换为NSDate的过程是这样:
*//theString is NSString containing my date as a text
NSDate *dateNS = [[NSDate alloc] init];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy hh:mm:ss ZZZ"];
dateNS = [dateFormatter dateFromString:theString];*
然而,在做了上面的代码之后,dateNS总是显示为(null)。
我的问题很简单:什么是正确的方式来转换NSString与日期格式化到NSDate对象?
顺便说一句,我已经看到了网站 http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns 看来,有很多方法可以格式化特定的日期,但我找不到什么,我做错了。
您需要24小时格式的“HH”小时。 – rmaddy
OK,它现在的作品。我没有设置时区和语言环境(顺便说一句,我仍然不知道为什么我必须这样做)。 – tom55
但我又遇到了另一个问题:将我的日期从字符串转换为NSDate后,它会在3小时内移动,例如, 01.01.2013 11:30 - > 01.01.2013 14:30。为什么?是否因为LocaleIdentifier错误(我在波兰,我为en_GB设置LocaleIdentifier - 我将它更改为pl_PL时出现问题,TimeZone更改为欧洲/华沙)。 – tom55