$.now()
дает мне время как miliseconds. Мне нужно показать что-то вроде hh:mm:ss
Как я могу сделать это в JQuery?
$.now()
дает мне время как miliseconds. Мне нужно показать что-то вроде hh:mm:ss
Как я могу сделать это в JQuery?
function formatTimeOfDay(millisSinceEpoch) {
var secondsSinceEpoch = (millisSinceEpoch / 1000) | 0;
var secondsInDay = ((secondsSinceEpoch % 86400) + 86400) % 86400;
var seconds = secondsInDay % 60;
var minutes = ((secondsInDay / 60) | 0) % 60;
var hours = (secondsInDay / 3600) | 0;
return hours + (minutes < 10 ? ":0" : ":")
+ minutes + (seconds < 10 ? ":0" : ":")
+ seconds;
}
Я бы предложил просто использовать объект Date Javascript для этой цели.
var d = new Date();
var time = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
Изменить: я только что наткнулся на приведенный ниже метод, который охватывает вопросы форматирования, такие как упомянутый один майк-самуэль и более чистый:
var time = d.toLocaleTimeString();
Пример JSFiddle здесь
jquery теперь не что иное, как
Метод $.now() является сокращением числа, возвращаемого выражением
(new Date).getTime().
из jquery
http://api.jquery.com/jQuery.now/
и следуйте по этой ссылке
Где можно найти документацию по форматированию даты в JavaScript?
new Date().toString().split(' ')[4]
или
new Date().toString().match(/\d{2}:\d{2}:\d{2}/)[0]
Метод toString
в основном является псевдонимом для toLocaleString
в большинстве реализаций. Это вернет время в пользовательском часовом поясе, а не в UTC, используя миллисекунды, если вы используете getTime
(если вы используете getMilliseconds
, вы должны быть в порядке) или toUTCString
.
Я бы предложил плагин jQuery формата даты. Например этот или этот (я использую первый )
jQuery не имеет форматирования даты. Вы можете использовать свой собственный JavaScript-объект Date
, или вы можете использовать библиотеку, которая сделает это за вас. DateJS - одна из таких библиотек, которая обеспечивает богатый набор функций форматирования, разбора и манипуляции. Однако он не поддерживался годами. momentjs
находится в активной разработке.
Я опоздал на это, но думал, что я просто выброшу этот маленький фрагмент для масс. Это то, что я использую, чтобы получить точную локализованную временную метку. Это довольно чисто и удобно.
function getStamp() {
var d = new Date();
var mm = d.getMilliseconds(), hh = d.getHours(),
MM = d.getMinutes(), ss = d.getSeconds();
return (hh < 10 ? "0" : "") + hh + (MM < 10 ? ":0" : ":") + MM + (ss < 10 ? ":0" : ":") + ss + ":" + mm;
};