gpt4 book ai didi

ios - SwiftDate 字符串解析返回少 1 天的结果

转载 作者:行者123 更新时间:2023-11-30 11:06:19 25 4
gpt4 key购买 nike

我正在尝试将日期字符串解析为 Date 类。我为此使用 SwiftDate。但是当我尝试解析它时,它返回的值比字符串中的值少 1 天。以下是一些示例:

let birthString = "1996-10-08"
self.birthday = Date(birthString, format: "yyyy-MM-dd", region: Region.current)
//Result: self.birthday = 1996-10-07 17:00:00 UTC

let expiredString = "2019-09-30"
self.membershipExpiredDate = Date(expiredString, format: "yyyy-MM-dd", region: Region.current)
//Result: self.membershipExpiredDate = 2019-09-29 17:00:00 UTC

如何修复此错误?谢谢。

最佳答案

SwiftDate 使用区域,并且您将区域设置为 Region.current。日期是否正确,您可以使用 .timeIntervalSince1970 属性进行检查。发生的情况是,当您打印日期(实际上只是一个 TimeInterval,又名 Double,一个特定时间点,独立于任何日历或时区)时,它会打印其 description属性,使用默认时区 UTC(您可以在输出 17:00:00 UTC 中看到它)。

要使用当前区域设置打印日期,请使用 this实例方法:

print(date.description(with: Locale.current))

关于ios - SwiftDate 字符串解析返回少 1 天的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com