2013-04-29 111 views
0

输入:Fri, 26 Apr 2013 21:56:31 EDTEDT为GMT转换

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

回答

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

输出是:现在日期=> 14/03/2013

希望它有助于你...