Подтвердить что ты не робот

Jquery: Как получить hh: mm: ss из объекта даты?

Как я могу получить этот hh: mm: ss из объекта даты?

var d = new Date(); // for now
datetext = d.getHours()+":"+d.getMinutes()+":"+d.getSeconds();

Я иногда получаю этот результат ниже,

12:10:1

который должен быть

12:10:01

Я предполагаю, что это происходит и с часами и минутами.

Итак, я после этого

01:01:01

Не этот 1:1: 1

4b9b3361

Ответ 1

Решение - (версия tl; dr)

datetext = d.toTimeString().split(' ')[0]

Объяснение:

toTimeString возвращает полное время. Мы разделим его по пространству, чтобы получить только компонент времени, а затем возьмем первое значение, которое будет полезно.:)

Полный поток:

d = new Date();
// d is "Sun Oct 13 2013 20:32:01 GMT+0530 (India Standard Time)"
datetext = d.toTimeString();
// datestring is "20:32:01 GMT+0530 (India Standard Time)"
// Split with ' ' and we get: ["20:32:01", "GMT+0530", "(India", "Standard", "Time)"]
// Take the first value from array :)
datetext = datetext.split(' ')[0];

Примечание.. Это не требует, чтобы вы включали любые внешние файлы или библиотеки, поэтому время, необходимое для выполнения, было бы быстрее.

Ответ 2

Вы можете использовать этот фрагмент кода. Я также добавил его в jsfiddle и добавил более безопасные комментарии, поэтому обязательно проверьте скрипт.

Если вы используете jQuery, вызовите его в своей готовой функции. В противном случае вы можете использовать обычный JavaScript для обновления значения вашего поля.

$(document).ready(function(){
    var d = new Date();
    var formatted_time = time_format(d);
    $('#yourTimeField').text(formatted_time);
});

Добавьте эти два метода в свой script (вы также можете вставить его в один файл, например, в jsfiddle фрагмент кода):

function time_format(d) {
    hours = format_two_digits(d.getHours());
    minutes = format_two_digits(d.getMinutes());
    seconds = format_two_digits(d.getSeconds());
    return hours + ":" + minutes + ":" + seconds;
}

function format_two_digits(n) {
    return n < 10 ? '0' + n : n;
}

Что это:) Надеюсь, это поможет:)

Ответ 3

Я предлагаю вам проверить некоторую библиотеку времени и времени. Moment.js - один из хороших примеров.

Вы можете сделать это, как показано ниже

var d = new Date();
var formatteddatestr = moment(d).format('hh:mm:ss a');

Вот пример из скрипки

Ответ 4

Вы также можете попробовать http://momentjs.com/. Библиотека дат javascript для парсинга, проверки, управления и форматирования дат.