iPhone有没有办法从nsdate组件获取nsdate

iPhone有没有办法从nsdate组件获取nsdate,iphone,ios,nsdate,nsdatecomponents,Iphone,Ios,Nsdate,Nsdatecomponents,我正试图找出如何创建一个设置为年底的NSDate。ie 2013, 我发现了一种方法,你可以通过加上秒数来计算1970年以来的时间。我不认为这是可行的,因为秒数必须用闰年来计算 我找到了以下代码,将NSDateComponents设置为年底 NSDateComponents *comps = [[NSDateComponents alloc] init]; [comps setYear:2012]; [comps setMonth:12]; [comps setD

我正试图找出如何创建一个设置为年底的
NSDate
。ie 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
作为结束日期。

是的,有

使用

您可以根据需要更改日历标识符

有关详细信息,请参阅此文档。

是的,有

使用

您可以根据需要更改日历标识符


有关详细信息,请参阅此文档。

以下是一些代码,可以为您指明正确的方向

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];

这里有一些代码可以为您指明正确的方向

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];