首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dateformatter返回nil date

Dateformatter返回nil date
EN

Stack Overflow用户
提问于 2018-07-13 21:02:34
回答 0查看 178关注 0票数 0

我试着在从服务器返回的日期上加上3个小时。publication.DateTime是一个字符串,在进行操作之前,我需要首先将其转换为date。

这是我的尝试:

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

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51325788

复制
相关文章

相似问题

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