gpt4 book ai didi

swift - NSDateFormatter 总是返回 nil。

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:23 26 4
gpt4 key购买 nike

我正在尝试从 Django Rest Framework 转换日期时间字符串,例如:“2014-10-28T18:14:32.457” 转换为 Swift 字符串。我在 playground 中运行以下代码,但总是出现错误:

fatal error :在展开可选值时意外发现 nil

import Foundation

var mydate = "2014-10-28T18:14:32.457"
let formatter = NSDateFormatter()
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
formatter.timeStyle = .ShortStyle
formatter.dateStyle = .ShortStyle
var parsedDateTimeString = formatter.dateFromString(mydate)
formatter.stringFromDate(parsedDateTimeString!)

我认为这是因为 dateFromString 总是返回 nil。但我不明白为什么它返回零。我很确定我的日期格式是正确的。我哪里错了?

最佳答案

如果您要设置 dateFormat,则不应设置 timeStyledateStyle(它们会覆盖您设置的格式) .您可能还想考虑使用可选绑定(bind)而不是强制展开以使您的代码更安全:

var mydate = "2014-10-28T18:14:32.457"
let formatter = NSDateFormatter()
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
if let parsedDateTimeString = formatter.dateFromString(mydate) {
formatter.stringFromDate(parsedDateTimeString)
} else {
println("Could not parse date")
}

在 Playground 中运行它并查看 stringFromDate 行结果:

2014-10-28T18:14:32.457

关于swift - NSDateFormatter 总是返回 nil。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26640210/

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