2016-07-09 61 views
0
let rowEndTime = form.rowByTag("End Time")?.baseValue 
     let formatter = NSDateFormatter() 
     formatter.locale = NSLocale.currentLocale() 
     let stringEnd = formatter.stringFromDate((rowEndTime as? NSDate)!) 

     print(stringEnd) 

我想將該行返回的日期轉換爲本地時區,然後轉換爲字符串。 stringFromDate總是返回零,我似乎無法獲得時區堅持。任何想法我是如何做到這一點?無法格式化DateTimeInlineRow返回的日期的時區

+0

NSDateFormatter'的''的設置locale'在當前區域設置是多餘的,因爲當前的區域設置是默認的,但你需要指定一個日期格式。 – vadian

+0

你確定嗎?我仍然收到錯誤的日期。 –

+0

也許你會得到正確的日期,但是如果你打印出來,它會以UTC顯示日期,而你的時區很可能不是UTC。考慮'locale'!='時區「。 – vadian

回答

0

儘量做到爲後續

let rowEndTime = form.rowByTag("End Time")?.baseValue 
let formatter = NSDateFormatter() 
formatter.dateFormat = "d MMMM y" 
formatter.locale = NSLocale(localeIdentifier: "en-US")//or NSLocale.currentLocale() 
let stringEnd = formatter.stringFromDate((rowEndTime as? NSDate)!)