Предотвратить восстановление фрагмента в Android

Если вы заботитесь только о часовом поясе на устройстве пользователя, то есть вы не собираетесь сохранять эту форматированную строку даты на сервер и т. д., тогда вы можете использовать следующий код:

var formatter: NSDateFormatter = NSDateFormatter()
formatter.dateFormat="yyyy-MM-dd 00:00:00 Z"
formatter.stringFromDate(date)

Если вы хотите сохранить эту строку даты на сервере, то вы должны добавить информацию о часовом поясе в форматтер:

var formatter: NSDateFormatter = NSDateFormatter()
formatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
formatter.dateFormat="yyyy-MM-dd 00:00:00 Z"
formatter.stringFromDate(date)

Обновить

Теперь я понимаю, что вы на самом деле хотели do, у вас есть строка даты вместо объекта NSDate в качестве входа.

Вы можете использовать следующий код для достижения желаемого результата в отношении сохранения информации о часовом поясе на входе.

let dateString = "2015-08-12 09:30:41 +0000"
let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let timeZone = NSTimeZone(forSecondsFromGMT: 0)

let inputDateFormatter = NSDateFormatter()
inputDateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss Z"
inputDateFormatter.calendar = calendar

if let inputDate = inputDateFormatter.dateFromString(dateString) {
    let outPutDateFormatter = NSDateFormatter()
    outPutDateFormatter.calendar = calendar
    outPutDateFormatter.timeZone = timeZone
    outPutDateFormatter.dateFormat = "yyyy-MM-dd 00:00:00 Z"
    print(outPutDateFormatter.stringFromDate(inputDate))
}
30
задан Rui Jarimba 20 March 2013 в 09:08
поделиться