【发布时间】:2015-05-20 08:59:24
【问题描述】:
目前,我将日期存储在 NSArray 中,因为我必须在自定义下拉视图中加载日期列表,但由于以下问题而无法这样做。
这是我尝试格式化 NSDate 的代码:-
NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDate *today = [NSDate date];
NSInteger dc = [currentCalendar ordinalityOfUnit:NSDayCalendarUnit
inUnit:NSYearCalendarUnit
forDate:today];
datesArray = [[NSMutableArray alloc]init];
for (int index = 1; index <= dc; index++)
{
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setDay:index];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:components];// Year is coming "0000" --log is: "0000-12-31 18:06:32 +0000"
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"MMMM dd yyyy"]; //updated
NSString *articleDateString = [formatter stringFromDate:date]; // getting- Jan 01 0001
[datesArray addObject: pickerItemTitle];
}
但我没有得到想要的输出,例如“2013 年 1 月 15 日”
在 NSDate 中,我也收到类似“0000-12-31 18:06:32 +0000”的信息,谁能告诉我为什么今年即将到来“0000”
【问题讨论】:
-
你可以试试 4M 作为 [formatter setDateFormat:@"MMMM dd YYYY"];
-
@Larme 这是日期日志:- 0000-12-31 18:06:32 +0000
-
如果年份是
0000,您希望如何拥有2013? -
我是不是做错了什么,因为我对 NSDate 不太擅长。任何建议都会有帮助@Larme
-
以
[components setYears:2013];开头?在NSDateFormatter(及其NSString返回)出现问题之前,请检查如何编写正确的日期。
标签: ios objective-c iphone nsdate nsdateformatter