Я передаю JS dateTime в бэкэнд с AJAX (Axios). Это то, что я имею до отправки запроса Sun Nov 04 2018 21:53:38 GMT+0500
и это то, что я получаю на моем бэкэнде2018-11-04T16:53:38.783Z
Как видите, часы изменились. Почему это происходит?
Спасибо
Наиболее вероятный виновник — это другой (или вообще никакой) часовой пояс.
Обратите внимание, что вы отправляете «21:53 плюс пять часов по Гринвичу»:
Sun Nov 04 2018 21:53:38 GMT+0500
^^^^^^^^^^^^^^^^^
и сервер интерпретирует как «16:53 Zulu»:
2018-11-04T16:53:38.783Z
^^^^^^^^^^^^^
И 16:53 Зулу точно 21: 53 + 0500. Но более того, сервер не отсылает вам ваше собственное время, он делает что-то дополнительно (видите эти 783 миллисекунды?).
Таким образом, есть вероятность, что если вы не можете изменить настройки сервера, вам придется преобразовать дату и время обратно или отправить свое время с Зулу (не-) часовой пояс.
Других решений пока нет …