NSDate Swift 3-EV反射

NSDate Swift 3-EV反射,swift,swift3,Swift,Swift3,我正在使用EVReflection,日期不起作用。对于NSDate,我不知道如何格式化为“dd-MM-yyy-HH:MM”这样的字符串 有两件事: 第一: 你需要问一个特定的问题,总是用类似的代码,或者用实际的代码来显示你要完成的任务。。这些都不在这里 第二: 不幸的是,你想做的事是不可能的。查看EVReflection,它的属性setter。setObjectForKey不适用于结构,如果您查看中的日期页面标题。。它是一个结构。做你的研究 反思表明: 不要使用结构,而是为它创建自己的对象模型

我正在使用EVReflection,日期不起作用。对于NSDate,我不知道如何格式化为“dd-MM-yyy-HH:MM”这样的字符串

有两件事:

第一: 你需要问一个特定的问题,总是用类似的代码,或者用实际的代码来显示你要完成的任务。。这些都不在这里

第二: 不幸的是,你想做的事是不可能的。查看EVReflection,它的属性setter
。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)