Как отформатировать $ .now () с помощью Jquery - PullRequest
13 голосов
/ 10 июля 2011

$.now() дает мне время в миллисекундах. Мне нужно показать что-то вроде hh:mm:ss

Как я могу сделать это в Jquery?

Ответы [ 7 ]

38 голосов
/ 10 июля 2011

Я бы предложил использовать для этой цели объект Date в Javascript.

    var d = new Date();
    var time = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();

Редактировать: я только что натолкнулся на метод ниже, который охватывает вопросы форматирования, такие как один упомянутый Майк Сэмюэль, и чище:

    var time = d.toLocaleTimeString();
24 голосов
/ 10 июля 2011
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;
}
4 голосов
/ 10 июля 2011
new Date().toString().split(' ')[4]

или

new Date().toString().match(/\d{2}:\d{2}:\d{2}/)[0]

Метод toString в большинстве случаев является псевдонимом для toLocaleString. Это вернет время в часовом поясе пользователя, в отличие от предположения UTC с использованием миллисекунд, если вы используете getTime (если вы используете getMilliseconds, вы должны быть в порядке) или toUTCString.

4 голосов
/ 10 июля 2011

Пример JSFiddle здесь

http://jsfiddle.net/NHhMv/

Jquery теперь не что иное, как

Метод $ .now () является сокращением для числа, возвращаемого выражением

(new Date).getTime().

из jquery

http://api.jquery.com/jQuery.now/

и перейдите по этой ссылке

Где найти документацию по форматированию даты в JavaScript?

2 голосов
/ 10 июля 2011

Я бы предложил формат jQuery в формате даты. Как этот или этот (я использую первый)

1 голос
/ 24 июля 2013

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

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;
};
1 голос
/ 10 июля 2011

jQuery не имеет форматирования даты. Вы можете свернуть свой собственный объект JavaScript Date или использовать библиотеку, которая сделает это за вас. DateJS - одна из таких библиотек, которая предоставляет богатый набор функций форматирования, анализа и манипулирования. Однако, это не поддерживалось годами. momentjs находится в стадии активной разработки.

...