2010-02-25 97 views
0

我有日期格式化程序的问题。使用日期格式化程序

我有两个字符串。一个字符串包含日期,格式为MM/dd/yyyy;第二个字符串包含hh:mm a形式的时间。

现在我想连接这两个字符串,并希望输出为 形式的新字符串yyyy-MM-dd HH:mm:ss。

我试过以下,但不幸的是它不工作更多。

-(NSString *)ConcateDateAndTime:(NSString *)date Time:(NSString *)time{ 

    date = [date stringByAppendingFormat:@" %@",time]; 



    NSDateFormatter *formater = [[NSDateFormatter alloc]init]; 
    [formater setDateFormat:@"MM/dd/yyyy hh:mm aa"]; 

    NSDate *dt = [NSDate date]; 
    dt = [formater dateFromString:date]; 

    NSDateFormatter *formater1 = [[NSDateFormatter alloc]init]; 
    [formater setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; 

    NSString *temp; 
    temp = [formater1 stringFromDate:dt]; 

    return temp; 

} 

回答

2

使用此不是作为你也有内存泄漏:

-(NSString *)ConcateDateAndTime:(NSString *)date Time:(NSString *)time{ 

    date = [date stringByAppendingFormat:@" %@",time]; 

    NSDateFormatter *formater = [[[NSDateFormatter alloc] init] autorelease]; 
    [formater setDateFormat:@"MM/dd/yyyy hh:mm aa"]; 

    NSDate *dt = [formater dateFromString:date]; 

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

    return [formater stringFromDate:dt]; 

} 
2

更改第二[formater setDateFormat]呼叫使用formater1

+0

我无法相信我成立了一个整个工程图了这一点,并尽快调试器到达那里,我回来了你已经回答了。 +1 – 2010-02-25 06:04:35

+1

+1,另请注意,此方法泄漏两个日期格式化程序! – 2010-02-25 06:05:26

+0

对David来说,我还必须创建一个基于Window的项目(因为它是我最熟悉的项目),只是为了试用它。 :)感谢Carl和David指出了内存泄漏问题。 – 2010-02-25 06:08:54