我有一个像这样的字符串
NSString *datestr = @"2013-08-06T03:51:54+00:00";
我尝试将dateformat设置如下:
NSDateFormatter *dformat = [[NSDateFormatter alloc]init];
[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"];
NSDate *date = [dformat dateFromString:datestr];
但是日期将是零,所以,任何人都可以告诉我如何设置dateformat,thx!
答案 0 :(得分:11)
试试这个:
NSDateFormatter *dformat = [[NSDateFormatter alloc]init];
[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];
NSDate *date = [dformat dateFromString:datestr];
将ZZZ
添加到格式化程序的末尾。
答案 1 :(得分:6)
试试这段代码
NSString *datestr = @"2013-08-06T03:51:54+00:00";
NSDateFormatter *dformat = [[NSDateFormatter alloc]init];
[dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];
NSDate *date = [dformat dateFromString:datestr];
使用小z ,其中z为您提供 - 使用特定的非位置格式。如果不可用,则回退到本地化的GMT格式。短格式使用一到三个字母,全格式使用四个字母。在短格式中,除非在语言环境中使用commonUsed标志,否则不使用元区域名称
for zone获取有关目标c中日期格式模式的更多信息,请参阅此链接 http://www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns希望这会对你有所帮助
答案 2 :(得分:1)
尝试以下:
NSString *dateString = @"2013-08-06T03:51:54+00:00";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ";
NSDate *date;
NSError *error;
[formatter getObjectValue:&date forString:dateString range:nil error:&error];