gpt4 book ai didi

swift - 发送到网络服务的日期错误

转载 作者:行者123 更新时间:2023-11-28 15:55:42 25 4
gpt4 key购买 nike

我正在使用 Alamofire 4.0 和 Swift 3.0
我应该在我的网络服务中发布带有时区的当前日期和时间。
当我尝试在控制台中打印时,我得到了正确的当前时间,但是当使用 Alamofire 将该数据推送到 Web 服务时,日期和时间会更改/增加 8 小时。
这是我正在尝试的代码。请帮助我,让我明白什么时候出错,为什么出错。

let now = NSDate();
let formatter = DateFormatter();
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz";
let defaultTimeZoneStr = formatter.string(from: now as Date);
print(defaultTimeZoneStr)


Alamofire.request("http:********", method: .post, parameters: ["id": 1, "date" : defaultTimeZoneStr, "value": "null", "publisher": "Jack", "title": "Time Warner, "url": "internet/6/"], encoding: JSONEncoding.default).responseString
{
response in
print("Success: \(response.result.isSuccess)")
print("Response String: \(response.result.value)")
}

因此在控制台中,defaultTimeZoneStr 将是我当前的时间。但是在web服务中,会晚8个小时。
请帮忙。
谢谢。

最佳答案

zzz 返回缩写的时区显示名称。

你应该知道:

  1. 时区显示名称不是唯一的。例如,常用的PST可以同时代表太平洋标准时间(UTC-08)和菲律宾标准时间(UTC+08)。

  2. 不同语言的时区显示名称可能不同。您尚未为格式化程序设置语言环境,因此名称可以是随机的。

简而言之,如果您需要标准格式,请不要使用 zzz,例如用于 API 调用。使用 ZX 变体之一。

关于swift - 发送到网络服务的日期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777023/

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