2017-07-07 36 views

回答

0

中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函数。

0

两件事情:

第一: 你要问一个具体问题,总是与类似的代码,或者实际的代码,显示你正在尝试acomplish ..这些都不是在这里。

第二个: 不幸的是你想要做的是不可能的。看看EVReflection,它的属性设置器.setObjectForKey不适用于结构体,并且如果您看Date的页面的标题the apple docs ..它是一个结构体。做你的研究!

EVReflection提示:

而不是使用一个结构,创建你自己的对象模型为 结构

所以你必须要尝试,看看它是否工作。

至于你的NSDate格式,请使用类似的扩展这个found in this post here

extension Date { 

    var currentUTCTimeZoneDate: String { 
     let formatter = DateFormatter() 
     formatter.timeZone = TimeZone(identifier: "UTC") 
     formatter.amSymbol = "AM" 
     formatter.pmSymbol = "PM" 
     formatter.dateFormat = "yyyy-MM-dd HH:mm:ss" 

     return formatter.string(from: self) 
    } 
} 

,您可以NSDate的使用:

extension NSDate { 

    var currentUTCTimeZoneDate: String { 
     return (self as Date).currentUTCTimeZoneDate 
    } 
} 


let d = NSDate().currentUTCTimeZoneDate 
print(d) // prints 2017-07-07 22:19:22