2013-05-14 60 views
-5

我的错误在哪里?我有这种格式的NSDate(数据:14/05/2013 10:52:27),我必须获得一个NSString。IOS:将NSDate转换为NSString给出零值

NSLog(@"Data: %@",lettureObj.data); 

    NSDateFormatter *outputDateFormatter = [[NSDateFormatter alloc] init]; 
    [outputDateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss"]; 
    NSString *data = [outputDateFormatter stringFromDate:lettureObj.data]; 
+0

第一条语句的结果是什么。 – 2013-05-14 09:01:42

+0

data:14/05/2013 10:52:27 – 2013-05-14 09:06:21

+0

代码是好的,它应该工作,它是为我工作。 – Amit 2013-05-14 09:11:54

回答

0

这里的问题是lettureObj.data是NSString的,你需要的是将其转换成日期primarly有一个NSDate对象

+0

是的,我认为这是问题...但在我的h。文件我定义它@属​​性(非原子,复制)NSDate *数据; – 2013-05-14 09:25:07

+0

现在我做了lettureObj.data = [dateFormatter dateFromString:dateString];和工作 – 2013-05-14 09:34:50

+0

这就是:)开心的编码 – 2013-05-14 09:35:36

0

使用以下功能

//*********************************Convert String into Date ********************** 

- (NSDate*) convertStringToDate:(NSString*)dateStr dateformat:(NSString*)dateformat 
{ 
    // Convert string to date object 
    //dateformat like :@"yyyy-MM-dd"] 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:dateformat]; 
    NSDate *date = [dateFormatter dateFromString:dateStr]; 
    [dateFormatter release];//For NON-ARC 
    return date; 
} 

//*********************************Convert date into String ********************** 

- (NSString*) convertDateToString:(NSDate*)date dateformat:(NSString*)dateformat 
{ 
    // Convert date object to desired output format 
    NSDateFormatter *dateFormat1 = [[NSDateFormatter alloc] init]; 
    [dateFormat1 setDateFormat:dateformat]; 
    NSString *dateStr = [dateFormat1 stringFromDate:date]; 
    [dateFormat1 release];//For NON-ARC 

    return dateStr; 
} 

希望它会帮助你

+0

这是我做老板的同样的事情。但不适合我这里.... – 2013-05-14 09:11:19

+0

确保'lettureObj.data'是一个NSDate – 2013-05-14 09:15:04

+0

@AlessandroMattiuzzi:这些转换方法应该工作正常,只要您传递正确的数据类型参数。 – Amar 2013-05-14 09:18:11

0

试试这个

NSString *strTemp = [NSString stringWithFormat:@"%@",lettureObj.data]; 

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"dd/MM/yyyy HH:mm:ss"]; 
    NSDate *date = [dateFormat dateFromString:strTemp]; 
    [dateFormat release]; 


    NSDateFormatter *outputDateFormatter = [[NSDateFormatter alloc] init]; 
    [outputDateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss"]; 

    NSString *data = [NSString stringWithFormat:@"%@",[outputDateFormatter stringFromDate:date]];