NSDate Swift 3-EV反射
我正在使用EVReflection,日期不起作用。对于NSDate,我不知道如何格式化为“dd-MM-yyy-HH:MM”这样的字符串 有两件事: 第一: 你需要问一个特定的问题,总是用类似的代码,或者用实际的代码来显示你要完成的任务。。这些都不在这里 第二: 不幸的是,你想做的事是不可能的。查看EVReflection,它的属性setterNSDate Swift 3-EV反射,swift,swift3,Swift,Swift3,我正在使用EVReflection,日期不起作用。对于NSDate,我不知道如何格式化为“dd-MM-yyy-HH:MM”这样的字符串 有两件事: 第一: 你需要问一个特定的问题,总是用类似的代码,或者用实际的代码来显示你要完成的任务。。这些都不在这里 第二: 不幸的是,你想做的事是不可能的。查看EVReflection,它的属性setter。setObjectForKey不适用于结构,如果您查看中的日期页面标题。。它是一个结构。做你的研究 反思表明: 不要使用结构,而是为它创建自己的对象模型
。setObjectForKey
不适用于结构,如果您查看中的日期
页面标题。。它是一个结构。做你的研究
反思表明:
不要使用结构,而是为它创建自己的对象模型
结构
所以你必须试试,看看它是否有效
对于NSDate格式,请使用如下扩展名:
您可以在NSDate上使用:
extension NSDate {
var currentUTCTimeZoneDate: String {
return (self as Date).currentUTCTimeZoneDate
}
}
let d = NSDate().currentUTCTimeZoneDate
print(d) // prints 2017-07-07 22:19:22
EVReflection中使用的默认日期格式化程序是“yyyy”-“MM”-“dd”HH:“MM”:“ssZ” 如果要更改默认格式化程序,则可以使用以下代码:
dateFormatter = DateFormatter()
dateFormatter!.locale = Locale(identifier: "en_US_POSIX")
dateFormatter!.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter!.dateFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ssZ"
EVReflection.setDateFormatter(dateFormatter)
如果有一个属性的格式不同,请使用EVReflection propertyConverters函数。实际上,对于struct Date和NSDate,EVReflection中有一个功能可以处理它。您可以在上面的答案中看到如何使用正确的日期格式化程序。
dateFormatter = DateFormatter()
dateFormatter!.locale = Locale(identifier: "en_US_POSIX")
dateFormatter!.timeZone = TimeZone(secondsFromGMT: 0)
dateFormatter!.dateFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ssZ"
EVReflection.setDateFormatter(dateFormatter)