我怎样才能在NSDatevariables中设置时间?

我有NSDatevariables,只想改变时间(date不应该改变)。 可能吗 ?

例如:DatePickerdate中的用户selectdate间隔(如果是开始date,我想将时间设置为00:00:00,如果结束date,则将时间设置为23:59:59)

感谢你的帮助。

问候,亚历克斯。

你会想要使用NSDateComponents 。

NSDate *oldDate = datePicker.date; // Or however you get it. unsigned unitFlags = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay; NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *comps = [calendar components:unitFlags fromDate:oldDate]; comps.hour = 23; comps.minute = 59; comps.second = 59; NSDate *newDate = [calendar dateFromComponents:comps]; 

NSDate对象不能改变。

你可以从中创build一个新的NSDate对象。 看看- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds方法。

 NSDate *newDate = [endDate dateByAddingTimeInterval:24.0f * 60.0f * 60.0f - 1.0f]; 

当我只需要跟踪时间时,我不使用NSDate或NSTimeInterval。 相反,我使用一个NSinteger并存储“军事”时间,即0830 = 8:30 AM,14:15 = 2:15 PM。