NSDateFormatter无法正常工作

时间:2012-12-14 06:34:21

标签: iphone ios ipad

我的NSDateFormatter提供的默认日期为

  

2001-01-01 00:00:00 +0000

我需要它以Mon, 24 Dec 2012 08:00:00 CST

的格式进行格式化

请找到我的代码供您参考:

NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];
[formatter1 setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[formatter1 setDateFormat:@"EEE, dd MMM yyyy'T'HH:mm:ss.SSS'ZZZ'"];
event.startDate = [formatter1 dateFromString:self.eventtime];

其中self.eventtime是星期一,2012年12月24日08:00:00 CST

2 个答案:

答案 0 :(得分:0)

试试这个:

NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init]; 
[formatter1 setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
[formatter1 setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];

NSDate *date = [NSDate date]; 
NSLog(@"%@", [formatter1 stringFromDate:date]);

输出:

  

星期五,2012年12月14日06:43:44 GMT

答案 1 :(得分:0)

试试下面的代码...

    NSString *str = @"2001-01-01 00:00:00 +0000";

    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"];

    NSDate *date = [dateFormatter dateFromString: str];

    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]]; 
    [dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];

    NSString *convertedString = [dateFormatter stringFromDate:date];
    NSLog(@"Converted String : %@",convertedString);

另请参阅我的博客,了解有关NSDate课程和格式的更多信息.. My Blog