如何转换 Swift 日期和 TimeInterval 以便我可以发送到 php 服务器?

How do I convert Swift date and TimeInterval so that I can send to php server?

我有一个 swift 日期和时间间隔,我想通过 Alamofire 发送到 php 服务器。我应该如何处理这些变量才能通过 JSON 或参数发送?

我应该使用特定的格式吗?

(我不知道这两者之间是如何相互作用的)

您可以使用多种日期格式转换选项。

我最喜欢的也是RFC 3339 because it creates least possible confusion among date formats and it is completely suitable for PHP

extension Date {
    init?(rfc3339String: String) {
        self.init()

        let localeId = "en_US_POSIX"
        let rfc3339DateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
        let fmt = DateFormatter()
        fmt.locale = Locale(identifier: localeId)
        fmt.dateFormat = rfc3339DateFormat
        fmt.timeZone = TimeZone.current
        self = fmt.date(from: rfc3339String)!
    }

    func rfc3339String() -> String {
        let localeId = "en_US_POSIX"
        let rfc3339DateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
        let fmt = DateFormatter()
        fmt.locale = Locale(identifier: localeId)
        fmt.dateFormat = rfc3339DateFormat
        fmt.timeZone = TimeZone.current
        return fmt.string(from: self)
    }
}

如果你想用php等格式保存你的数据库,你可以使用datetime格式。您可以将字符串发送到 db '它也可以识别字符串并将其另存为日期格式到 db。您的格式可以是 "yyyy-MM-dd'T'HH:mm:ssZ"