我正在尝试从 Eureka DateTimeRow 收集日期值,然后将其存储到 Firebase 中,但要存储它,我需要它采用字符串格式。我已尝试进行此转换,但收到错误消息“无法将‘Foundation.Date’ (0x108af27e8) 类型的值转换为‘Swift.String’ (0x1086e99f8)。” 我想知道我的转换方法是否遗漏了什么。
日期时间行:
<<< DateTimeRow("startDate"){
$0.title = "Start Date"
$0.value = NSDate() as Date
$0.cellUpdate { (cell, row) in
cell.datePicker.minimumDate = Date()
}
$0.onChange { row in
start = row.value!
}
}
代码获取 Erueka 形式的值并进行转换:
let valuesDictionary = form.values()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
let formattedDate = formatter.date(from: valuesDictionary["startDate"] as! String)
谢谢大家的反馈。
最佳答案
当您想将从 Date
(Eureka) 转换为 String
(Firebase) 时,您应该使用 string(from:)
DateFormatter
的方法,而您正尝试使用 date(from:)
方法。
// Date to String func string(from date: Date) -> String // String to Date func date(from string: String) -> Date?
关于Swift 将 Eureka 日期转换为 String 以进行 firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51227513/