2011-08-26 30 views
2

我一直在努力将nsstring转换为nsdate格式。我有一个像(2011-08-25 18:30:00 +0000)nsstring格式的日期,但我想以nsdate格式(2011年8月26日)进行更改。如何改变它?任何人都可以帮助我吗?在此先感谢...我有花一天来解决这一点,但我不能找出解决办法。请帮助我的朋友....如何在iPhone中将nsstring更改为nsdate格式?

这是我的代码,

NSString *dateString = @"2011-08-25 18:30:00 +0000"; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"MM/dd/yyyy"]; 
NSDate *dateFromString = [[NSDate alloc] init]; 
dateFromString = [dateFormatter dateFromString:dateString]; 
NSLog(@"Converted date is %@",dateFromString); 

输出是,

  Converted date is (null) 

Yuva.M

回答

10
NSString *dateWithInitialFormat = @"2011-08-25 18:30:00 +0000"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
NSDate *date = [dateFormatter dateFromString:dateWithInitialFormat]; 

[dateFormatter setDateFormat:@"MM/dd/yyyy"]; 
NSString *dateWithNewFormat = [dateFormatter stringFromDate:date]; 
NSLog(@"dateWithNewFormat: %@", dateWithNewFormat); 

从NSLog的:dateWithNewFormat:2011年8月25日

Date Format Patterns

+0

谢谢Mr.CocoaFu。它的回归很好。但是,我想以日期格式将一个参数传递给webservice,nsstring不会丢失。你可以帮我吗?请今天是这项任务的最后日期。请。 –

+0

检查我提供的日期格式模式链接,这应该是您需要的,以及我提供的示例代码。但如果你坚持提供更多信息。另外,如果它是正确和有帮助的,请接受我的回答。 – zaph

+0

雅你的答案是非常有帮助的。我不熟悉iphone开发,所以我很挣扎。有没有与我的问题有关的示例代码。再次感谢你。 –

1

您需要使用NSDateFormatter,并设置日期格式以匹配你如何存放,像下面。

NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss"]; 
NSDate *myDate = [df dateFromString: myDateString]; 
+0

谢谢Mr.Nicholas,我已经编辑我的问题。请看看这个。我已经试过这个代码,但我不能得到答案。你能解决我的问题吗?请。 –

+0

你的日期格式是错误的,它需要匹配你放入它的格式,然后将它存储为它自己的样式。 –

+0

好朋友..我仍然试图解决这个问题。感谢您花时间与我..我会更新我的答案,一旦我解决了这个问题。 –

0
NSDateFormatter* df = [[NSDateFormatter alloc] init]; 
    [df setDateFormat:@"MMMM dd, yyyy"]; 
    NSDate* d = [df dateFromString:@"January 06, 1992"]; 
    NSLog(@"%@", d); 

    NSDate *dispalyDate = d; 
    NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
    [dateFormat setDateFormat:@"dd MMM"]; 
    NSString *str = [dateFormat stringFromDate:dispalyDate]; 
    NSLog(@"%@", str);