how do I set an existing NSDate's time?

前端 未结 6 434
面向向阳花
面向向阳花 2020-12-08 20:24

how do I set an existing NSDate\'s time?

That is I have a date (say current date/time), but then want to set this to a specific time (e.g. 11.23am) say.

6条回答
  •  感情败类
    2020-12-08 20:40

    A swift example. For my purposes, I wanted to get the date for around 12 noon tomorrow.

    var tomorrow:NSDate = NSDate().dateByAddingTimeInterval(60*60*24); //60seconds*60minutes*12hours
    var gregorian:NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!;
    var unit : NSCalendarUnit = (NSCalendarUnit.YearCalendarUnit|NSCalendarUnit.MonthCalendarUnit|NSCalendarUnit.DayCalendarUnit|NSCalendarUnit.HourCalendarUnit|NSCalendarUnit.MinuteCalendarUnit);
    var comps:NSDateComponents = gregorian.components(unit, fromDate: tomorrow);
    comps.setValue(12, forComponent: NSCalendarUnit.HourCalendarUnit);
    comps.setValue(0, forComponent: NSCalendarUnit.MinuteCalendarUnit);
    var noon_tomorrow : NSDate = gregorian.dateFromComponents(comps)!;
    

提交回复
热议问题