代码之家  ›  专栏  ›  技术社区  ›  Rahul Vyas

如何向NSDate添加小时数?

  •  51
  • Rahul Vyas  · 技术社区  · 16 年前

    我将一个日期转换为双倍值并保存在数据库中。现在,我想比较一下 currentDate > myDataBaseDate + 8 小时,即我想在myDataBaseDate中添加8小时。我正在将日期转换为双倍值。那么,我如何从数据库保存的日期中获取8小时后的时间呢。我该如何比较

    if (currentDateTime > DateFromdatabaseValue + DateByAdding8HoursInDataBase)
    
    6 回复  |  直到 11 年前
        1
  •  149
  •   Rui Lopes    14 年前

    我不完全确定您要做什么,但您可以通过使用以下命令向另一个NSDate添加以秒为单位的时间来创建NSDate对象:

    - (id)dateByAddingTimeInterval:(NSTimeInterval)seconds

    //例如,将当前时间增加8小时:

    NSDate *mydate = [NSDate date];
    NSTimeInterval secondsInEightHours = 8 * 60 * 60;
    NSDate *dateEightHoursAhead = [mydate dateByAddingTimeInterval:secondsInEightHours];
    
        2
  •  19
  •   Ben Packard Ross Knipe    11 年前

    自iOS 8以来,有更方便的 dateByAddingUnit :

    //add 8 hours
    let calendar = NSCalendar.autoupdatingCurrentCalendar()
    newDate = calendar.dateByAddingUnit(.CalendarUnitHour, value: 8, toDate: originalDate, options: nil)
    
        3
  •  2
  •   TechSeeko    11 年前

    您可以简单地使用:

    NSDate *incrementedDate = [NSDate dateWithTimeInterval:numberOfSeconds sinceDate:[NSDate date]];
    
        4
  •  0
  •   Pascal    16 年前

        5
  •  0
  •   Venu Gopal Tewari    11 年前

    NSDate*开始日期=datePicker.date;

        NSTimeInterval secondsInOneHours = 1 * 60 * 60;
    
        NSDate *dateOneHoursAhead = [startdate dateByAddingTimeInterval:secondsInOneHours];
    
        [dateformate setDateFormat:@"d-MMM-yy HH:mm:ss"];
    
        strDate = [dateformate stringFromDate:dateOneHoursAhead];
    
        6
  •  0
  •   SwiftDeveloper    9 年前

    Swift 3.X

    let calendar = NSCalendar.autoupdatingCurrent
    let newDate = calendar.date(byAdding: .hour, value: 8, to: Date())