我正在尝试将 3 小时添加到从服务器返回的日期。publication.DateTime
是一个字符串,我需要先将其转换为日期,然后再进行操作。
这是我的尝试:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
let date = dateFormatter.date(from:(publication.DateTime)!) //date is nil here
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day, .hour], from: date!)
let finalDate = calendar.date(from:components)
let newDate = calendar.date(
byAdding: .hour,
value: 3,
to: finalDate!)
我究竟做错了什么?我试图在网上对这个问题进行研究,似乎大多数帖子都来自旧版本的 Swift,所以也许新的 Swift 中有一些东西我遗漏或做错了?
编辑:更改日期格式有效,但在字符串 onbject 中添加 3 小时的时间现在看起来像 15:0:0 而不是之前的 12:34:17。我希望它是 15:34:17。