2016-07-09 3 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 всегда возвращает nil, и я не могу заставить часовой пояс придерживаться. Любые идеи, как я должен это делать?Невозможно отформатировать часовой пояс даты, возвращаемой DateTimeInlineRow

+0

Установка '' locale' из NSDateFormatter' текущей локали является излишним, так как текущая локаль по умолчанию, но вы должны указать формат даты. – 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)!) 
Смежные вопросы