Преобразование DOMTimeStamp к локализованному HH:MM:SS MM-DD-YY с помощью JavaScript

Геолокация W3C API (среди других) использует DOMTimeStamp для своего time-fix.

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

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

5
задан XPav 21 June 2010 в 23:59
поделиться

2 ответа

Одна версия конструктора 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);
8
ответ дан 14 December 2019 в 01:01
поделиться
var d = new Date(millisecondsSinceEpoch);

Вы можете отформатировать его как хотите.

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

1
ответ дан 14 December 2019 в 01:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: