首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SwiftDate字符串解析返回的结果减少了1天

SwiftDate字符串解析返回的结果减少了1天
EN

Stack Overflow用户
提问于 2018-10-06 05:50:55
回答 1查看 111关注 0票数 1

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

代码语言:javascript
复制
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

如何修复此错误?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-06 09:37:42

SwiftDate使用区域,您将该区域设置为Region.current。日期是正确的,您可以使用.timeIntervalSince1970属性检查该日期。当您打印日期(实际上是一个TimeInterval,也就是Double,一个独立于任何日历或时区的特定时间点)时,它将使用默认的时区UTC打印它的描述属性(您可以在输出17:00:00 UTC中看到它)。

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

代码语言:javascript
复制
print(date.description(with: Locale.current))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52676114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档