IOS如何设置date格式

我有这样的一个string

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]; 

但date将是零,所以,谁能告诉我如何设置dateformat,thx!

尝试这个:

  NSDateFormatter *dformat = [[NSDateFormatter alloc]init]; [dformat setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"]; NSDate *date = [dformat dateFromString:datestr]; 

ZZZ添加到格式化程序的末尾。

试试这个代码

 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格式。 对于短格式使用一到三个字母,对于完整格式使用四个字母。 在短格式中,除非在语言环境中常用的标志处于打开状态,否则不会使用元区名称

为区域更多信息关于date格式模式在目标c参考此链接http://www.unicode.org/reports/tr35/tr35-19.html#Date_Format_Patterns希望这会帮助你

试试下面:

 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];