我有以下代码:
[ [NSDate date] descriptionWithLocale: @"yyyy-MM-dd" ]
我希望它以下列格式返回日期:"2009-04-23"
但它返回:2009年4月23日星期四下午11:27:03 GMT + 03:00
我究竟做错了什么?
先感谢您.
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; [dateFormatter release]; // delete this line if your project uses ARC NSLog(@"%@",dateString);
你使用的是错误的方法.而是试试descriptionWithCalendarFormat:timeZone:locale:
[[NSDate date] descriptionWithCalendarFormat:@"%Y-%m-%d" timezone:nil locale:nil];
另请注意,该方法的格式与您问题中的格式不同.完整的文档可以在这里找到.
编辑:虽然迈克指出,你真的应该使用NSDateFormatter
.descriptionWithCalendarFormat:timezone:locale:
苹果在文档中提到了一些问题.
另请注意,对于大多数情况,NSDateFormatter
优先考虑其灵活性.
在许多应用程序中重复使用日期格式化程序也可以获得显着的性能优势.