我在CoreData中有一个接受日期值的属性。我只是想获得当前日期并以这种格式保存它" dd / mm / yyyy" 。但不知道如何。感谢
答案 0 :(得分:4)
您可以在此处将日期存储在coreData中,如格式
所示let date = NSDate()
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
var dateString = dateFormatter.string(from: date as Date)
在coreData中存储 dateString
答案 1 :(得分:2)
如果您将其存储为日期,那么在尝试在某处显示返回的值之前,您无法控制格式,而只是存储Date()
如果你正如图所示存储它,那么你需要使用DateFormatter来创建你需要的字符串
答案 2 :(得分:0)
要在Core Data中保存日期,我创建了以下扩展名
extension Date {
/**
Formats a Date
- parameters format: (String) for eg dd-MM-yyyy hh-mm-ss
*/
func format(format:String = "dd-MM-yyyy hh-mm-ss") -> Date {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
let dateString = dateFormatter.string(from: self)
if let newDate = dateFormatter.date(from: dateString) {
return newDate
} else {
return self
}
}
}
设置字段的日期值
let date = Date()
entity?.setValue(date.format(), forKey: "updated_at")
注意:打开数据库时,您可能会看到保存为时间戳的日期。请参阅以下问题NSDate being saved as timestamp in CoreData
您还可以在“format()”扩展名中传递自己的日期格式,以便在应用程序中获取不同类型的日期