Преобразование DOMTimeStamp в локализованный HH: MM: SS MM-DD-YY через Javascript - PullRequest
4 голосов
/ 22 июня 2010

API геолокации W3C (среди прочих) использует DOMTimeStamp для своего времени исправления.

Это "миллисекунды с начала эпохи Unix".

Какой самый простой способ преобразовать это в удобочитаемый формат и настроить для местного часового пояса?

Ответы [ 2 ]

7 голосов
/ 22 июня 2010

Одна версия конструктора Date принимает число «миллисекунд с начала эпохи Unix» в качестве первого и единственного параметра.

Предполагая, что ваша метка времени находится в переменной с именем domTimeStamp,следующий код преобразует эту временную метку в местное время (при условии, что пользователь установил правильную дату и часовой пояс на своем компьютере) и напечатает удобочитаемую версию даты:

var d = new Date(domTimeStamp);
document.write(d.toLocaleString());

Другие встроенныев число методов форматирования даты входят:

Date.toDateString()
Date.toLocaleDateString()
Date.toLocaleTimeString()
Date.toString()
Date.toTimeString()
Date.toUTCString()

Если вы хотите напечатать точный шаблон "ЧЧ: ММ: СС ММ-ДД-ГГ", вы можете сделать что-то вроде этого:

var d = new Date(domTimeStamp);
var hours = d.getHours(),
    minutes = d.getMinutes(),
    seconds = d.getSeconds(),
    month = d.getMonth() + 1,
    day = d.getDate(),
    year = d.getFullYear() % 100;

function pad(d) {
    return (d < 10 ? "0" : "") + d;
}

var formattedDate = pad(hours) + ":"
                  + pad(minutes) + ":"
                  + pad(seconds) + " "
                  + pad(month) + "-"
                  + pad(day) + "-"
                  + pad(year);

document.write(formattedDate);
1 голос
/ 22 июня 2010
var d = new Date(millisecondsSinceEpoch);

Затем вы можете отформатировать его так, как вам нравится.

Вы можете найти datejs , особенно его форматирование toString , полезным.

...