使用NSDateFormatter格式化日期

时间:2013-06-12 12:45:33

标签: objective-c nsdate nsdateformatter

我想将06-06-2013 1:51 PM格式化为Jun 06,2013

我使用NSDateFormatter尝试了所有可能的不同格式样式,但失败了。

3 个答案:

答案 0 :(得分:1)

试试这个         首先您需要将此字符串转换回NSDate,然后再次使用formatter将NSdate转换为字符串。

    NSDateFormatter *dateFormatForDB = [[NSDateFormatter alloc] init];
    [dateFormatForDB setDateFormat:@"dd-MM-yyyy HH:mm a"]; //Note capital H is 4 24-hour time format
    NSDate *aDate = [[[NSDate alloc] initWithTimeInterval:0 sinceDate:[dateFormatForDB dateFromString:aDateString]] autorelease];
   if(aDate){
     [formatter setDateFormat:@"MMM dd,yyyy"];
     NSString *date = [formatter stringFromDate:aDate];
     [dateFormatForDB release];
    }

答案 1 :(得分:0)

尝试使用此格式

[df setDateFormat:@"MMM dd,yyyy];

答案 2 :(得分:0)

通过查看您的格式,我认为这就是您要找的......

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"dd-MM-yyyy hh:mm a"];
NSDate *newDate = [df dateFromString:dateString];
NSDateFormatter *df2 = [[NSDateFormatter alloc] init];
[df2 setDateFormat:@"MMM dd,yyyy"];
NSString *formattedDate = [df2 stringFromDate:newDate];

这将以所需格式为您提供日期字符串。如果您想要24小时格式的时间,请将'hh'替换为'HH'。