Преобразование даты в строку в конец объекта для вставки в базу данных
114
5
Я хочу преобразовать дату в объекте string to date в javascript, чтобы я мог вставить его в базу данных mysql как DATETIME.
Я пробую new Date(date)
поскольку здесь работает отлично, но в моем js-коде это не работает нормально.
вот код:
str = "Sun Sep 06 2015 11:56:23 GMT+04:30"
new Date(str);
и вот результат:
2015-09-06T11:56:23.000Z
который отличается от результата здесь
и также я получаю следующую ошибку при вставке ее в базу данных.
Incorrect datetime value: '2015-09-06T11:56:23.000Z' for column 'start_date' at row 1
Итак, как я могу конвертировать дату?
спросил(а)
2015-09-06T11:20:00+03:00
5 лет, 7 месяцев назад
добавить комментарий
пожаловаться
Решение
75
Отсюда: Получить строку в формате YYYYMMDD из объекта даты JS?
Date.prototype.yyyymmdd = function() {
var yyyy = this.getFullYear().toString();
var mm = (this.getMonth()+1).toString(); // getMonth() is zero-based
var dd = this.getDate().toString();
return yyyy + "-" + (mm[1]?mm:"0"+mm[0]) + "-" + (dd[1]?dd:"0"+dd[0]); // padding
};
Тогда ты можешь:
str = "Sun Sep 06 2015 11:56:23 GMT+04:30"
new Date(str).yyyymmdd(); //returns "2015-09-06"
Мы можем внести некоторые изменения в исходную функцию, чтобы включить время:
Окончательный JavaScript
Date.prototype.YYYYMMDDhhmmss = function() {
var YYYY = this.getFullYear().toString(),
MM = (this.getMonth()+1).toString(),
DD = this.getDate().toString(),
hh = this.getUTCHours().toString(),
mm = this.getUTCMinutes().toString(),
ss = this.getUTCSeconds().toString();
return YYYY + "-" + (MM[1]?MM:"0"+MM[0]) + "-" + (DD[1]?DD:"0"+DD[0]) + " " + (hh[1]?hh:"0"+hh[0]) + ":" + (mm[1]?mm:"0"+mm[0]) + ":" + (ss[1]?ss:"0"+ss[0]);
};
Затем:
str = "Sun Sep 06 2015 11:56:23 GMT+04:30"
new Date(str).YYYYMMDDhhmmss(); //returns "2015-09-06 07:26:23"
Либо, как этот YYYY-MM-DD hh:mm:ss
или YYYY-MM-DD
отлично подходит для ввода DateTime
в базе данных.
ответил(а)
2015-09-06T11:34:00+03:00
5 лет, 7 месяцев назад
добавить комментарий
пожаловаться
Ваш ответ