EDT到GMT转换

时间:2013-04-29 04:53:22

标签: iphone ios objective-c

输入:Fri, 26 Apr 2013 21:56:31 EDT

 NSDateFormatter *df1 = [[NSDateFormatter alloc] init];

 [df1 setDateFormat:@"EE, dd MMM YYYY HH:mm:ss zzz"];

  NSDateFormatter *df = [[NSDateFormatter alloc] init];

 [df setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"];

 NSString *startDateStr2 = [df1 stringFromDate:[NSDate date]];

 NSLog(@"currentDate: %@", startDateStr2);

但我正在输出 Sat, 05 Jan 2013 07:26:31 GMT+05:30

1 个答案:

答案 0 :(得分:2)

使用以下方法更改NSDate ..

的格式
-(NSString *)changeDateFormat:(NSString*)stringDate dateFormat:(NSString*)dateFormat getwithFormat:(NSString *)getwithFormat{


    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:dateFormat];

    NSDate *date = [dateFormatter dateFromString:stringDate];

    dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDateFormat:getwithFormat];

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

使用3个参数调用上述方法..

<强> 1。 stringDate:以字符串类型传递您的日期。

<强> 2。 dateFormat:设置您传递的字符串日期中使用的格式。例如,如果您的字符串日期为"14-03-2013 11:22 am",则将格式设置为@"dd-MM-yyyy hh:mm a"

第3。 getwithFormat :设置您想要的格式,就像您想要日期14/03/2013一样,然后只需设置格式@"dd/MM/yyyy"

如何调用此方法,请参阅以下示例,方法为:

NSString *strSDate = [self changeDateFormat:@"14-03-2013 11:22 am" dateFormat:@"dd-MM-yyyy hh:mm a" getwithFormat:@"dd/MM/yyyy"];
NSLog(@"\n\n Now Date => %@",strSDate);

输出为:Now Date =&gt; 14/03/2013

希望它对你有所帮助......