Это выглядит так: console.log (time); Результат: 1300709088000
Это не похоже на метку времени Unix (секунды с начала эпохи), оно выглядит как миллисекунды с начала эпохи. Таким образом, вы не умножили бы на 1000, чтобы преобразовать секунды в миллисекунды для JavaScript, это уже в миллисекундах (или вы имеете дело с датами более чем через 41 000 лет; это вполне справедливо).
Тест:
var times = [
1300709088000,
1300709252000,
1300709316000,
1300709358000,
1300709530000
];
var index;
for (index = 0; index < times.length; ++index) {
display(times[index] + " => " + new Date(times[index]));
}
Живая копия
Обновление : Или получение отдельных частей:
var times = [
1300709088000,
1300709252000,
1300709316000,
1300709358000,
1300709530000
];
var index, dt;
for (index = 0; index < times.length; ++index) {
dt = new Date(times[index]);
display(times[index] +
" => " +
dt +
" (" + formatISOLikeDate(dt) + ")");
}
// Not all implementations have ISO-8601 stuff yet, do it manually
function formatISOLikeDate(dt) {
var day = String(dt.getDate()),
month = String(dt.getMonth() + 1), // Starts at 0
year = String(dt.getFullYear()),
hour = String(dt.getHours()),
minute = String(dt.getMinutes()),
second = String(dt.getSeconds());
return zeroPad(year, 4) + "-" +
zeroPad(month, 2) + "-" +
zeroPad(day, 2) + " " +
zeroPad(hour, 2) + ":" +
zeroPad(minute, 2) + ":" +
zeroPad(second, 2);
}
function zeroPad(str, width) {
while (str.length < width) {
str = "0" + str;
}
return str;
}
Живая копия ... но если вы собираетесь что-то делать с датами, я бы посмотрел на DateJS .