iPhone是否可以从NSDateComponents获得NSDATE



我正在尝试弄清楚如何创建设置为年底的NSDate。即2013年,我找到了一种方法,您可以通过添加秒数来获得自1970年以来的时间。我看不到这一点,因为cal秒必须花几年的时间。

我找到了以下代码将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

是的,有。

使用

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *newDate = [calendar 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];

最新更新