【发布时间】:2021-12-09 06:18:04
【问题描述】:
我正在尝试将Date 转换为DateComponents,更改一些属性,然后返回一个新的Date。我写了以下代码:
import Foundation
var components = Calendar.current.dateComponents(in: .current, from: Date())
components.day = 7
components.month = 3
components.year = 1900
DateFormatter.localizedString(from: components.date!, dateStyle: .long, timeStyle: .long)
我已经在 iOS 15.0 上的 iOS 模拟器上的 America/Denver 时区/区域设置以及运行最新 macOS Big Sur 和 Xcode 13.0 的 Mac 上的 Swift REPL 进行了测试,在这两个地方,我得到了在撰写本文时大约有以下输出:
March 7, 2021 at 9:38:13 AM MST
关于这一切的一切都符合预期,除了年份。我已将年份明确设置为1900,但输出中的年份为2021。如何在生成日期时让DateComponents 纪念年份,或者如何手动执行相同的操作以使其真正起作用?
【问题讨论】:
标签: ios swift macos foundation nsdatecomponents