从组装整数日期对象?(Assemble date object from integers?)

2019-09-27 03:53发布

鉴于三个整数,代表了日,月,年,什么样的代码将组装这些整数转换成日期对象?

Answer 1:

你应该看看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]);


Answer 2:

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标准(上面链接),您将您的整数为相同格式(明显)。



文章来源: Assemble date object from integers?