Я работаю с Alamofire 4.0 и Swift 3.0
Я предполагаю POST текущую дату и время с часовым поясом в своем веб-сервисе.
Когда я пытаюсь распечатать на консоли, я получаю правильное текущее время, но когда эти данные передаются в веб-службу с использованием Alamofire, дата и время меняются/увеличиваются на 8 часов.
Это код, который я пытаюсь. Пожалуйста, помогите мне и заставьте меня понять, когда и почему это происходит неправильно.
Неправильная дата отправлена на веб-службу
let now = NSDate();
let formatter = DateFormatter();
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss zzz";
let defaultTimeZoneStr = formatter.string(from: now as Date);
print(defaultTimeZoneStr)
Alamofire.request("http:********", method: .post, parameters: ["id": 1, "date" : defaultTimeZoneStr, "value": "null", "publisher": "Jack", "title": "Time Warner, "url": "internet/6/"], encoding: JSONEncoding.default).responseString
{
response in
print("Success: \(response.result.isSuccess)")
print("Response String: \(response.result.value)")
}
Таким образом, в консоли, defaultTimeZoneStr будет мое текущее время. Но в веб-сервисе это будет на 8 часов позже.
Пожалуйста, помогите.
Спасибо.
вы должны проверить (1), если часовой пояс включен в timeString и (2) проанализирован также на серверах и (3) правильно установить в базе данных (4) правильно прочитать из базы данных с часовым поясом (5) распечатать время с помощью локального timezone – muescha
вы используете '" zzz "' -> '' GMT + 1 "', но есть и '' Z "' для '' +0100 ", может быть, это лучше разбирается на серверах. – muescha
Для получения хорошего ответа вам потребуется код на стороне сервера и некоторый код db – muescha