У меня есть дата и время от пользователя.И нужно хранить в базе данных.Вывод даты в console.log () на удаленном сервере отличается от локального сервера.
Данные из пользовательского ввода:
ui_date = '2018-05-23';
ui_time = '10:00'; // literally meant for 10 oclock
//.... i manage to concatinate ui_date and ui_time and convert to ISO datetime
Сейчас ... Вывод с локального сервера
console.log(myDate.toISOString());
// outputs: 2018-05-23T02:00:00.000Z
// This is correct UTC since I'm in philippines and the offset is +8
// Localserver automatically convert it to UTC
Вывод с удаленного сервера
console.log(myDate.toISOString());
// outputs: 2018-05-23T10:00:00.000Z
// This is wrong because it is in local time not UTC
Кажется, удаленный сервер не может преобразовать это время в UTC.
У кого-нибудь есть идеи по этому поводу?
ОБНОВЛЕНИЕ показ фактического кода: Кстати, я использую node.js в качестве сервера.
Ввод от пользователя:
{
"date": "2018-05-23",
"time": "10:00"
}
мой маршрут:
router.post('/test_datetime', function(req, res, next) {
console.log(req.body.date);
console.log(req.body.time);
var date = req.body.date;
// get the date, month and year
var dd = new Date(date).getDate();
var mm = new Date(date).getMonth();
var yy = new Date(date).getFullYear();
// get the hour and min from "10:00" and convert to number
var hour = parseInt(req.body.time.substr(0, 2));
var min = parseInt(req.body.time.substr(3, 4));
// constructed datetime
var datetime = new Date(yy, mm, dd, hour, min).toISOString();
console.log(datetime);
});
вывод локального сервера datetime:
2018-05-23T02:00:00.000Z
вывод удаленного сервера datetime:
2018-05-23T10:00:00.000Z