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
Ответы
Ответ 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 для парсинга, проверки, управления и форматирования дат.