Преобразование даты формата MySql в JavaScript Date
Часто при разработке фронтента приходится работать с датами на Javascript. В js объекте Date имеется статический метод parse, который может разобрать практически все, но кроме даты формата MySql ’2011-10-21 17:08:00′.
На stackoverflow наткнулся на простое и элегантное решение.
// разбиваем дату на части [ Y, M, D, h, m, s ] var t = "2010-06-09 13:12:01".split(/[- :]/); // Передаем каждый элемент в конструктор, если время не указано ставим нули var d = new Date(t[0], t[1]-1, t[2], t[3] || 0, t[4] || 0, t[5] || 0); alert(d); // -> Wed Jun 09 2010 13:12:01 GMT+0100 (GMT Daylight Time)
Для большего удобства можно добавить новый метод к классу Date:
Date.createFromMysql = function(mysql_string) { if(typeof mysql_string === 'string') { var t = mysql_string.split(/[- :]/); return new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0); } return null; }
Полезная статья которая описывает различия между jQuery функциями live delegate и bind.