Делает любой знает, как я могу взять MySQL datetime
значение типа данных, такой как YYYY-MM-DD HH:MM:SS
и или проанализируйте его или преобразуйте его для работы в JavaScript Date()
функция, например:-Дата ('YYYY, MM, DD, HH, MM, SS);
Спасибо!
Некоторые из приведенных здесь ответов либо переусложнены, либо просто не работают (по крайней мере, не во всех браузерах). Если сделать шаг назад, то можно увидеть, что временная метка MySQL содержит каждый компонент времени в том же порядке, что и аргументы, требуемые конструктором Date()
.
Все, что нужно - это очень простое разбиение строки:
// Split timestamp into [ Y, M, D, h, m, s ]
var t = "2010-06-09 13:12:01".split(/[- :]/);
// Apply each element to the Date function
var d = new Date(Date.UTC(t[0], t[1]-1, t[2], t[3], t[4], t[5]));
console.log(d);
// -> Wed Jun 09 2010 14:12:01 GMT+0100 (BST)
Справедливое предупреждение: это предполагает, что ваш сервер MySQL выводит даты UTC (что является стандартом по умолчанию и рекомендуется, если в строке нет компонента часового пояса).
Быстрый поиск в Google дал следующее:
function mysqlTimeStampToDate(timestamp) {
//function parses mysql datetime string and returns javascript Date object
//input has to be in this format: 2007-06-05 15:26:02
var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}