Преобразование даты формата 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;   
}