我一直在研究,但找不到解决问题的确切方法.一小时前我一直在约会.如何在swift中实现这一点?

推荐答案

要正确计算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: [])

Swift相关问答推荐

Variadic泛型与Swift中的值和类型参数包

是否在字符串属性上搜索数组和子数组?

带DispatchSourceTimer的定时器

正在接收具有不完整数据错误的URL请求

SwiftUI 拖放:如果没有上下文类型,则无法解析对成员‘first’的引用

Swift-SceneKit-无法从art.scnassets加载.scn文件

在 Vapor 4 中使用协议的通用流利查询

为什么 Apple Scrumdinger Sample App 使用两个事实来源?

单击按钮后的计时器发布者初始化计时器

组合 flatMap 不会返回预期的上下文结果类型

符合协议要求委托变量在 ios13 中可用

swift中的SequenceType和CollectionType有什么区别?

当我必须在 Swift 中的类、 struct 和枚举之间进行 Select 时,我应该如何推理?

更新我的 pod 导致 GoogleDataTransport Umbrella 标头出现错误

在 Swift 中获取双精度的小数部分

从 NSData 对象在 Swift 中创建一个数组

如何在 GCD 中停止 DispatchWorkItem?

Swift 2.0 最低系统版本要求(部署目标)

TabView 在切换选项卡时重置导航堆栈

迭代 Firebase 中的子快照