要正确计算NSDate,并将不同日历的所有边缘情况考虑在内(例如,在节日时间之间切换),您应该使用NSCalendar类:
Swift 3+
let earlyDate = Calendar.current.date(
byAdding: .hour,
value: -1,
to: Date())
Older
// Get the date that was 1hr before now
let earlyDate = NSCalendar.currentCalendar().dateByAddingUnit(
.Hour,
value: -1,
toDate: NSDate(),
options: [])