使用特定时间初始化NSDate对象

agu*_*pta 10 iphone nsdate

我有timestring例如格式2:00.我想NSDate用现在把它初始化date.我试过了

   NSDateComponents *comps = [[NSDateComponents alloc] init];
   [comps setHour:2];
Run Code Online (Sandbox Code Playgroud)

我无法将其与日期对象进行比较.请帮忙

men*_*ole 33

尝试

NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setDay:6];
[comps setMonth:5];
[comps setYear:2004];

NSCalendar *gregorian = [[NSCalendar alloc]
    initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:comps];
Run Code Online (Sandbox Code Playgroud)

您应该能够在此之后与日期进行比较.

也许你的意思是.我认为将使用今天的日期设置,然后您可以从中创建NSDateComponents并设置时间值.

NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
                         initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
                    [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:today];
[weekdayComponents setHour:12];
[weekdayComponents setMinute:10];
[weekdayComponents setSecond:30];
Run Code Online (Sandbox Code Playgroud)