Swift 3是否有办法将日期打印为日期而不是字符串

Swift 3是否有办法将日期打印为日期而不是字符串,swift,swift3,Swift,Swift3,我正试图用日期参数形成一个主体,我必须将其发送到api。日期以字符串格式打印,是否有方法将其作为唯一的日期格式发送 let isoDate = "2019-09-21" let dateFormatter = DateFormatter() dateFormatter.dateFormat = "yyyy-MM-dd" let date = dateFormatter.date(from:isoDate)! let dateStr = dateForm

我正试图用日期参数形成一个主体,我必须将其发送到api。日期以字符串格式打印,是否有方法将其作为唯一的日期格式发送

    let isoDate = "2019-09-21"
    let dateFormatter = DateFormatter()

    dateFormatter.dateFormat = "yyyy-MM-dd"
    let date = dateFormatter.date(from:isoDate)!

    let dateStr = dateFormatter.string(from: date)

    let body: [String: Any] = [
        "date": dateStr
    ]
    print(body)
它打印:

["date": "2019-09-21"]
["date": 2019-09-21]
我希望将其打印为:

["date": 2019-09-21]
试试这个:

print(dateFormatter.string(from: date))
输出:

2019-09-21
2019-09-21 00:00:00
对于小时分钟秒,您可以使用:

dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateFormatter.string(from: date))
输出:

2019-09-21
2019-09-21 00:00:00

您的输出示例类似于日期说明

要将日期转换为字符串,需要调用:

dateFormatter.string(from: date)
这里是操场的屏幕:

请尝试:

dateFormatter.dateFormat = "yyyy-MM-dd"
let date = dateFormatter.date(from:isoDate)!
print(dateFormatter.string(from: date)) // 2019-09-21
let body: [String: AnyObject] = [
    "date": dateFormatter.string(from: date) as AnyObject
]
print(body) //["date": 2019-09-21]

dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
print(dateFormatter.string(from: date)) // 2019-09-21 00:00:00

我能够使用以下代码实现这一点:

    let isoDate = "2019-09-21"

    let body: [String: AnyObject] = [
        "date": isoDate as AnyObject
    ]
    print(body)
现在打印:

["date": "2019-09-21"]
["date": 2019-09-21]

打印
日期时不可用。为什么不直接打印isoDate呢?@vadian我必须将日期作为日期而不是字符串发送到服务器。如果我直接打印isoDate,那么它将作为字符串打印。“服务器作为日期而不是字符串”通常,您不会传递
(NS)date
对象。可能是UnixTimeStamp或字符串表示,但不是Swift Date对象。如果将日期发送到服务器,则与打印日期的方式无关。你如何将
日期
(!)实例发送到服务器?@Larme我已经根据适当的要求编辑了我的问题。谢谢,把字符串转换回原点不是有点毫无意义吗@vadian我认为原始代码中有一个字符串作为输入测试值我只是想说,将字符串转换为日期,然后直接返回到完全相同的字符串是没有意义的。嗨@Asif,我已经用适当的要求编辑了这个问题。你能帮我解决这个问题吗?嗨@Bhadresh Kathiriya,我用适当的要求编辑了这个问题。你能帮我一下吗?几乎所有的代码都是多余的<代码>让isoDate=“2019-09-21”;让body=[“date”:isoDate]“
就足够了。千万不要向
任何对象
强制转换Swift字符串。