如何在iOS上将日期格式从字符串更改为dd/mm/yy?

don*_*ias 2 string format date ios

所以我正在解析一个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]];
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Tik*_*kes 5

您可以使用 NSDateFormatter

例如:

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

    NSDate *myDate = [dateFormatter dateFromString:yourString];
Run Code Online (Sandbox Code Playgroud)

有关dateformat模式,请参见http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns


小智 5

我们的想法是使用NSDateFormatter从输入时间字符串中获取日期,然后使用新的dateformatter从日期中获取您想要的任何新时间字符串.

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];
Run Code Online (Sandbox Code Playgroud)