От «timestamp» Я думаю, вы имеете в виду значение времени, например 1391954400000
.
Чтобы преобразовать строку даты в дату, вам необходимо ее проанализировать. Используйте библиотеку или короткую функцию. Вы можете получить значение времени, которое представляет собой количество миллисекунд, прошедших с 1970-01-01T00: 00: 00Z:
/* Parse date sting in d/m/y format
** @param {string} s - date string in d/m/y format
** separator can be any non–digit character
** @returns {Date} If s is an invalid date, returned
** Date has time value of NaN (invalid date)
*/
function parseDMY(s) {
var b = s.split(/\D/);
var d = new Date(b[2], --b[1], b[0]);
return d && d.getMonth() == b[1]? d : new Date(NaN);
}
// Valid date
console.log(parseDMY('10/02/2014').getTime());
// Invalid date
console.log(parseDMY('14/20/2016').getTime());
Есть также множество библиотек для дат форматирования (например Fecha.js делает разбор и форматирование), или же, если у вас есть только один формат, простая функция будет делать:
/* Return date string in format dd/mm/yyy
** @param {Date} d - date to format, default to today
** @returns {string} date in dd/mm/yyyy format
*/
function formatDMY(d) {
// Default to today
d = d || new Date();
return ('0' + d.getDate()).slice(-2) + '/' +
('0' + (d.getMonth() + 1)).slice(-2) + '/' +
('000' + d.getFullYear()).slice(-4);
}
console.log(formatDMY());
console.log(formatDMY(new Date(2016,1,29)));
10/02/2014 ** ** ** [* timestamp *] (https://en.wikipedia.org/wiki/Timestamp). ;-) – RobG