我试图弄清楚如何创建一个设置到年底的NSDate
。即2013年,
我找到了一种方法,你可以通过添加秒数来获得自1970年以来的时间。我没有看到这种情况有效,因为在闰年中需要几秒钟。
我找到了以下代码,将NSDateComponents
设置为年底。
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:2012];
[comps setMonth:12];
[comps setDay:11];
[comps setHour:0];
[comps setMinute:0];
[comps setSecond:0];
有没有办法从中获取NSDate
?
我尝试做的是使用
NSDateComponents *timeDifference = [[NSCalendar currentCalendar]
components: NSMonthCalendarUnit| NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit fromDate:[NSDate date] toDate:comps options:0];
结束日期需要NSDate
。
答案 0 :(得分:3)
是的,有。
使用
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *newDate = [calendar dateFromComponents:comps];
您可以根据自己的要求更改日历标识符。
有关详细信息,请参阅此link。
答案 1 :(得分:1)
下面是一些可能指向正确方向的代码。
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:2012];
[comps setMonth:12];
[comps setDay:11];
[comps setHour:0];
[comps setMinute:0];
[comps setSecond:0];
NSDate *myDate = [[NSCalendar currentCalendar] dateFromComponents:comps];