1

给定三个整数,分别代表日、月和年,什么代码可以将这些整数组合成一个日期对象?

4

2 回答 2

4

你应该看看NSDateComponents

int y = 2011;
int m = 1;
int d = 15;


NSDateComponents *dc = [[NSDateComponents alloc] init];
[dc setYear:y];
[dc setMonth:m];
[dc setDay:d];

NSLog(@"%@: %@", [[dc date] class], [dc date]);
于 2011-01-20T05:57:30.570 回答
0

NSDateFormatter使用Unicode 标准将日期字符串解析为日期。因此,将整数格式化为日期字符串,然后使用 NSDateFormatter 对其进行解析:

// assume year, month and day are integers that are formatted properly and don't
// include invalid ranges
NSString* dateString = [NSString stringWithFormat:@"%04d %02d %02d", year, month, day];
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
// Choose a format of YEAR MONTH DATE per the standard
[formatter setDateFormat:@"yyyy MM dd"];
NSDate* date = [formatter dateFromString:dateString];
[formatter release];

您可以将格式字符串设置为任何格式,只要您使用 Unicode 标准(上面链接)并将整数转换为相同的格式(显然)。

于 2011-01-20T06:03:00.310 回答