我怎样才能在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。