2013-10-28 57 views
-2

我从Web服务获取日期和时间作为字符串,看起来像日期是“2013-10-29”和“11:30”(或“23:30”),但我想要显示日期,如“29 OCT.2013”​​,时间是“11:30 AM”(或“11:30 PM”)。 我对这类问题经历了如此多的答案,但是当我试着返回“null”没有错误或warings.Please帮助我...如何将日期字符串转换为ios中的NSDate

+4

请分享你已经看过你已经尝试过的情况和可能的链接代码,在我们可能只是告诉你已经看到了什么。 – Popeye

+0

你可以发表你想要在NSDate对象中转换的确切日期字符串吗? – Manu

+0

我想投票支持将此问题作为重复进行投票。但是有太多的重复,我不能决定选择哪一个。因此,请更具体一些,并提供您已经尝试过的内容以及为什么不起作用的详细信息。 – tilo

回答

11

应用此代码更改您的属性手动编码的时间和日期,它应该工作。

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd"]; 
NSDate * dateNotFormatted = [dateFormatter dateFromString:@"2013-10-29"]; 
[dateFormatter setDateFormat:@"d MMM.YYYY"];  
NSString * dateFormatted = [dateFormatter stringFromDate:dateNotFormatter]; 

[dateFormatter setDateFormat:@"HH:mm"]; 
NSDate * timeNotFormatted = [dateFormatter dateFromString:@"11:30"]; 
[dateFormatter setDateFormat:@"hh:mm a"];  
NSString * timeFormatted = [dateFormatter stringFromDate:timeNotFormatter]; 

另一种选择是把严格的时间和日期在一个字符串,并使用此格式:

[dateFormatter setDateFormat:@"d MMM.YYYY at hh:mm a"];  
+0

感谢亚历克斯它的伟大工程... –

+0

谢谢alex nice v有用 – Akhtar

0

使用NSDateFormatter。在第一种情况下你的格式为:@"yyyy-MM-dd"@"HH:mm",并在第二个:@"dd MMM.yyyy"@"hh:mm a"首先

+0

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@“dd MMM.YYYY”]; NSDate * date = [[NSDate alloc] init]; date = [formatter dateFromString:@“2013-10-29”];这里的日期是返回“null” –

0

结合日期&时间,如“2013年10月29日11:30”

不是使用以下功能像[自DATEFORMAT:@ “YYYY-NN-DD HH:SS” newFormat:@ “DD MMM.yyyy HH:MM一”]

- (NSString*) dateFormat : (NSString*)date currentFormat:(NSString*) currentFormat newFormat : (NSString*) newFormat 
{ 
    NSString *dateStr = date; 
    NSDateFormatter *dtF = [[NSDateFormatter alloc] init]; 
    [dtF setDateFormat:currentFormat]; 
    NSDate *d = [dtF dateFromString:dateStr]; 

    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:newFormat]; 
    NSString * strFinalDate = [dateFormat stringFromDate:d]; 
    NSLog(@"%@",strFinalDate); 

    [dtF release]; 
    [dateFormat release]; 

    return strFinalDate; 
} 

,如果你想日期和时间不同,它使用的NSArray比分开。

相关问题