提交查询以使用更新的日期字符串获取Json数据

问题描述 投票:0回答:1

当我们从web获取Json数据时,我们必须以字符串格式包含日期。但是它只在我提交原始字符串值时才有效。当我创建具有相同值的字符串实例(使用Date())时,请求无效。我试过这段代码:

var formattedDate = { ()-> String in let dateString = String(describing: Date()) 
let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" formatter.dateStyle = .short return dateString }() 

let dateString = "\"\(formattedDate.dropLast(15))"+"\"" 
//then instead of :
 let query: [String : String] = ["api_key" : "DEMO_KEY", "date" : "2012-02-12"] 
//this: 
let query: [String : String] = ["api_key" : "DEMO_KEY", "date" : dateString] 

没工作!格式化通过生成相同的精确字符串值!有任何想法吗?

json swift date swift4.2
1个回答
0
投票

你只需要创建DateFormatter并将其dateFormat设置为您需要的格式("yyyy-MM-dd")。然后,您可以使用格式化程序上的string(from:)从某个日期获取格式化字符串

let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"

let dateString = formatter.string(from: Date())
let query: [String : String] = ["api_key" : "DEMO_KEY", "date" : dateString]

...注意我删除了 formatter.dateStyle = .short 因为这给你提供了你可能不需要的格式(例如2/12/19),而且我也删除了双引号,因为在你的示例查询中我看不到任何内容(这些引用仅适用于String

© www.soinside.com 2019 - 2024. All rights reserved.