gpt4 book ai didi

ios - 从未使用有效格式解析的字节加载的Swift DateFormatter字符串

转载 作者:行者123 更新时间:2023-12-01 17:03:28 24 4
gpt4 key购买 nike

我正在使用以下代码从Swift中的字节数组加载字符串

let bytes = data[position...position + length]
guard let let dateString = String(bytes: bytes, encoding: .utf8)
else {return}

这给了我一个有效的字符串,例如 "20160714"

然后,我使用 DateFormatter尝试使用以下命令从字符串中解析日期
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "YYYYMMdd"
let date = dateFormatter.date(from: dateString)

这应该可以,但是 date始终是 nil。当我在操场上用字符串文字( let dateString = "20160714")尝试相同的操作时,它按预期方式工作,我认为这与编码有关。

任何帮助,不胜感激。

编辑:
我已经尝试了YYYY和yyyy一年,都返回nil

还值得注意的是,字节数组来自使用以下命令将文件加载到内存中
guard let data = try? NSData(contentsOfFile: urlString, 
options: .alwaysMapped)
else {fatalError("Invalid file")}

按照@vadian的要求,在控制台中打印 Data(bytes) as NSData会给出以下输出
{length = 8, bytes = 0x3230313630373134}

最佳答案

您编写的代码是正确的。还可以在Date对象中进行转换。尝试在控制台上打印日期。

let dateString = "20160714"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "YYYYMMdd"
let date = dateFormatter.date(from: dateString)

只需将日期对象转换为所需的字符串格式(即yyyy / MM / dd)

关于ios - 从未使用有效格式解析的字节加载的Swift DateFormatter字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60073328/

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