我已成功使用此代码从字符串转换日期。
NSDateFormatter *df=[[NSDateFormatter alloc]init];
[df setDateFormat:@"dd/MM/yyyy HH:mm:ss"];
[df setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSString *strDate = [NSString stringWithFormat:@"%@", [unsortedArray objectAtIndex:i]];
NSDate *date =[df dateFromString:strDate];
此处,unsortedArray
是日期数组。
我可以使用NSDateFormatter
作为日期格式。
但是在这里,我无法以@"dd/MM/yyyy HH:mm:ss"
格式获取日期。
我可以用这种格式获取日期: 2013-03-08 09:07:16 +0000
那么我如何以下列格式获取日期:@"dd/MM/yyyy HH:mm:ss"
。
答案 0 :(得分:1)
您在帖子中编写的代码片段主要用于解析字符串以在日期(NSDate *date =[df dateFromString:strDate];
)
因此,如果strDate
是“08/03/2013 10:28:30”,您将拥有代表这个好日期的NSDate。
NSDate没有格式化,因为这不是他的责任。
如果你想要一个字符串格式的日期,如08/03/2013 10:28:30,这段代码将帮助你:
NSDateFormatter *df=[[NSDateFormatter alloc]init];
[df setDateFormat:@"dd/MM/yyyy HH:mm:ss"];
[df setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSString stringFormattedDate = [df stringFromDate:[NSDate date]];
stringFormattedDate
的日期格式正确;)
答案 1 :(得分:0)
试试这个,
NSString *departTimeDate = @"2013-03-08 09:07:16 +0000";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd HH':'mm':'ss ZZZZ"];
NSDate *date = [dateFormatter dateFromString:departTimeDate];
[dateFormatter setDateFormat:@"dd/MM/yyyy HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSLog(@"Expected Result___ %@",[dateFormatter stringFromDate:date]);