如何在Iphone应用程序中指定NSDate格式?

时间:2011-04-21 10:24:12

标签: iphone nsdateformatter

我正在尝试以小时,分钟日/月/年的方式制作日期格式

我使用了这段代码:

NSDateFormatter *formatter =[[NSDateFormatter alloc] init];

NSDate *dateAndtime = [NSDate date];

[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateStyle:NSDateFormatterShortStyle];
//[formatter setTimeStyle:NSDateFormatterShortStyle];

NSString* dateforBD=[[NSString alloc]init];
dateforBD =[formatter stringFromDate:dateAndtime];

但是这段代码没有给我我的格式。

我也试过这段代码:

NSLocale *locale = [NSLocale currentLocale];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; 
NSString *dateFormat = [NSDateFormatter dateFormatFromTemplate:@"E MMM d yyyy" 
                        options:0 locale:locale];

[formatter setDateFormat:dateFormat];
[formatter setLocale:locale];

它也给了我不同的格式。如何达到所需的格式意味着13.10 21/4/2011

所有格式在日期之前的月份返回。我可能用错了方法吗?

提前致谢。

3 个答案:

答案 0 :(得分:0)

     NSDate *today = [NSDate date];
     NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
     [dateFormat setDateFormat:@"MM/dd/yyyy hh:mma"];
     NSString *dateString = [dateFormat stringFromDate:today];
     NSLog(@"date: %@", dateString);
     [dateFormat release];

要了解详情,请访问http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/

希望它有所帮助。

答案 1 :(得分:0)

用于月前使用的日期 -

[dateFormat setDateFormat:@"dd/MM/yyyy hh:mm"];

答案 2 :(得分:0)

如Apple的NSDateFormatter引用中所述,NSDateFormatter使用Unicode Date Format Patterns

根据unicode模式,您需要以下模式才能实现“ 13.10 21/4/2011 ”:

hh:mm dd/MM/yyyy

所以你会使用这段代码:

NSDate *dateAndtime = [NSDate date];

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];

[dateFormatter setDateFormat:@"hh:mm dd/MM/yyyy"];

NSString *newlyFormattedDateString = [dateFormatter stringFromDate:dateAndtime];