2017-07-07 33 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