2

所以我正在解析一个 xml 文件并在屏幕上显示我解析的日期。日期如下:2012 年 5 月 31 日星期四 20:43:54 GMT。如何将日期转换为这种格式:dd/mm/yy?我不需要时间。


好吧,它崩溃了。我试过了 :

NSString *date = [[stories objectAtIndex: storyIndex] objectForKey: @"date"];

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

NSString *dateText = [[NSString alloc] initWithString:[dateFormatter stringFromDate:myDate]];

有任何想法吗?

4

3 回答 3

5

这个想法是用来NSDateFormatter从您的输入时间字符串中获取日期,然后使用新的日期格式化程序从日期中获取您想要的任何新时间字符串。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE, d MMM YYYY HH:mm:ss Z"];

NSDate *date = [dateFormatter dateFromString:theDateString];
[dateFormatter release];

NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
[dateFormatter2 setDateFormat:@"dd/mm/yyyy"];
NSString *newDateString = [dateFormatter2 stringFromDate:date];
[dateFormatter2 release];
于 2012-06-04T08:39:34.303 回答
5

您可以使用NSDateFormatter

例如:

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

    NSDate *myDate = [dateFormatter dateFromString:yourString];

有关日期格式模式,请参阅http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

于 2012-06-04T08:21:07.427 回答
0

或者,对于第二部分,您可以使用 NSDateComponents。后:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE, d MMM YYYY HH:mm:ss Z"];

NSDate *date = [dateFormatter dateFromString:theDateString];
[dateFormatter release];

//Get NSComponents from date object..

[NSString stringWithFormat:@"%@/%@/%@",dateComponent.date,dateComponent.month,dateComponent.year];
于 2014-09-24T07:56:06.890 回答