如果我创建一个Date()获取当前日期和时间,我想从中创建一个新日期,但是使用不同的小时,分钟和零秒,使用Swift最简单的方法是什么?我已经找到了很多'获得'而不是'设置'的例子.
我希望这会返回一个Date表示从现在开始一小时后的时间的对象:
Calendar.current.date(byAdding: DateComponents(hour: 1), to: Date())
Run Code Online (Sandbox Code Playgroud)
然而它又回来了nil。这似乎是 API 的相当简单的使用,所以也许我对这个 API 应该如何工作有一些基本的误解?
这似乎只影响swiftXcode 附带的命令行 REPL(macOS Catalina 10.15.3 上的版本 11.3.1)。
有趣的是,将上述代码包装在print()调用中会强制它打印正确的结果。那么为什么会显示呢nil?
Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)
Target: x86_64-apple-darwin19.3.0
Run Code Online (Sandbox Code Playgroud)