Если вы заботитесь только о часовом поясе на устройстве пользователя, то есть вы не собираетесь сохранять эту форматированную строку даты на сервер и т. д., тогда вы можете использовать следующий код:
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))
}