Як отримати поточний час за допомогою jQuery


129

Далі повертається час у мікросекундах, наприклад 4565212462.

alert( $.now() );

Як перетворити його у читаний для людини формат часу, наприклад (години: хвилини: секунди) ?


1
Вам не потрібен jQuery, $.now()оскільки JavaScript має вбудовану реалізацію: stackoverflow.com/questions/20456712/…
Josh Crozier

Виправлення: (1) Це було замінено на рідним Date.now (), і (2) Повернений час у мілісекундах, а не мікросекундах.
den232

Відповіді:


304

Ви можете спробувати так:

new Date($.now());

Також за допомогою Javascript ви можете зробити так:

var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
document.write(time);


7
Зауважте, що .getHours () повертає години у часовому поясі локальної машини. Якщо користувач має свій браузер в іншому часовому поясі, ніж ви, він отримає інші результати від getHours. Це справедливо і для методу .toString (). Контроль часового поясу в javascript є складним (вам слід обчислити зміщення між вашим та бажаним часовим поясом і відповідно змінити дату). Отже, як було сказано в іншій відповіді, використання moment.js звучить як гарна ідея. momentjs.com
Кріс

1
Слід також розглянути можливість включення padStart до кожного отримання: dt.getMinutes (). ToString.padStart (2, '0') Це забезпечить, щоб цифри залишалися двоцифровими з нульовим нульовим значенням, і слідкував за запропонованою функцією javascript - настільки симпатично майбутні перевірені: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Негативний нуль

2
@NegativeZero Насправді корисна (якщо не важлива) пропозиція. На жаль, це не спрацювало для мене на Firefox (я не тестував на інших браузерах). Однак переписати його як String (dt.getMinutes ()). PadStart (2, '0') працює для мене.
бісквіт,

54

Усі "цифри" потрібно отримати вручну

подобається це:

var currentdate = new Date(); 
    var datetime = "Now: " + currentdate.getDate() + "/"
                + (currentdate.getMonth()+1)  + "/" 
                + currentdate.getFullYear() + " @ "  
                + currentdate.getHours() + ":"  
                + currentdate.getMinutes() + ":" 
                + currentdate.getSeconds();

document.write(datetime);


39

Перетворіть Dateоб'єкт у рядок, використовуючи, наприклад, один із Date.prototypeперетворювачів перетворення :

var d = new Date();
d+'';                  // "Sun Dec 08 2013 18:55:38 GMT+0100"
d.toDateString();      // "Sun Dec 08 2013"
d.toISOString();       // "2013-12-08T17:55:38.130Z"
d.toLocaleDateString() // "8/12/2013" on my system
d.toLocaleString()     // "8/12/2013 18.55.38" on my system
d.toUTCString()        // "Sun, 08 Dec 2013 17:55:38 GMT"

Або, якщо ви хочете, щоб це було більше налаштовано, перегляньте список Date.prototypeметодів отримання геттера .


25

Для цього вам не потрібно використовувати jQuery!

Рідний реалізація JavaScript єDate.now() .

Date.now()і $.now()повернути те саме значення:

Date.now(); // 1421715573651
$.now();    // 1421715573651
new Date(Date.now())   // Mon Jan 19 2015 20:02:55 GMT-0500 (Eastern Standard Time)
new Date($.now());     // Mon Jan 19 2015 20:02:55 GMT-0500 (Eastern Standard Time)

..і якщо ви хочете, щоб час, відформатований в hh-mm-s:

var now = new Date(Date.now());
var formatted = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
// 20:10:58

1
Вам не потрібно вказувати параметри для нової дати (), оскільки вона за замовчуванням дотепер.
Андрій Шподе

1
@Spode Ах, хороший момент. Я не впевнений, чому в інших відповідях тоді використовували jQuery.
Джош Крозьє

17

.clock {
width: 260px;
margin: 0 auto;
padding: 30px;
color: #FFF;background:#333;
}
.clock ul {
width: 250px;
margin: 0 auto;
padding: 0;
list-style: none;
text-align: center
}

.clock ul li {
display: inline;
font-size: 3em;
text-align: center;
font-family: "Arial", Helvetica, sans-serif;
text-shadow: 0 2px 5px #55c6ff, 0 3px 6px #55c6ff, 0 4px 7px #55c6ff
}
#Date { 
font-family: 'Arial', Helvetica, sans-serif;
font-size: 26px;
text-align: center;
text-shadow: 0 2px 5px #55c6ff, 0 3px 6px #55c6ff;
padding-bottom: 40px;
}

#point {
position: relative;
-moz-animation: mymove 1s ease infinite;
-webkit-animation: mymove 1s ease infinite;
padding-left: 10px;
padding-right: 10px
}

/* Animasi Detik Kedap - Kedip */
@-webkit-keyframes mymove 
{
0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;}
50% {opacity:0; text-shadow:none; }
100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } 
}

@-moz-keyframes mymove 
{
0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;}
50% {opacity:0; text-shadow:none; }
100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Making 2 variable month and day
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 
var dayNames= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]

// make single object
var newDate = new Date();
// make current time
newDate.setDate(newDate.getDate());
// setting date and time
$('#Date').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear());

setInterval( function() {
// Create a newDate() object and extract the seconds of the current time on the visitor's
var seconds = new Date().getSeconds();
// Add a leading zero to seconds value
$("#sec").html(( seconds < 10 ? "0" : "" ) + seconds);
},1000);

setInterval( function() {
// Create a newDate() object and extract the minutes of the current time on the visitor's
var minutes = new Date().getMinutes();
// Add a leading zero to the minutes value
$("#min").html(( minutes < 10 ? "0" : "" ) + minutes);
},1000);

setInterval( function() {
// Create a newDate() object and extract the hours of the current time on the visitor's
var hours = new Date().getHours();
// Add a leading zero to the hours value
$("#hours").html(( hours < 10 ? "0" : "" ) + hours);
}, 1000); 
});
</script>
<div class="clock">
<div id="Date"></div>
<ul>
<li id="hours"></li>
<li id="point">:</li>
<li id="min"></li>
<li id="point">:</li>
<li id="sec"></li>
</ul>
</div>


9

jQuery.now() Повернення: Число

Опис: Поверніть число, що представляє поточний час.

Цей метод не приймає жодних аргументів.

$.now()Метод є скороченням для кількості повертається вирази (new Date).getTime().

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

Використовувати Javascript просто:

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

5

$ .now () jQuery - псевдонім нового Date (). getTime (), внутрішньої функції Javascript.

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

Це повертає кількість секунд, що минули з 1970 року, зазвичай їх називають (не обов'язково правильно) як Unix Time, Epoch або Timestamp, залежно від кіл, в які ви потрапляєте. Це може бути дуже зручним для обчислення різниці між датами / часом за допомогою простої математики . У ній немає інформації про TimeZone і завжди є UTC.

http://en.wikipedia.org/wiki/Unix_time

Немає необхідності використовувати jQuery, окрім цього псевдоніма, це мало що допомагає в маніпуляції з датою / часом.

Якщо ви шукаєте швидкий і брудний спосіб відображення часу в тексті, об’єкт «Дата JavaScript» має прототип «toString», який повертає форматизований датою час ISO.

new Date().toString();
//returns "Thu Apr 30 2015 14:37:36 GMT+0100 (BST)"

Більше ніж ймовірно, ви хочете налаштувати своє форматування. Об'єкт Date має можливість витягувати ваші відповідні деталі, щоб ви могли створити власне представлення рядків.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

var d = new Date(); //without params it defaults to "now"
var t = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
//Will return 14:37:36

Однак, як ви попросили рішення jQuery - можливо, ви працюєте зі старими браузерами. Якщо ви хочете зробити більш конкретні речі - особливо інтерпретувати рядки в об’єкти дати (корисні для відповідей API), ви можете подивитися на Moment.js.

http://momentjs.com/

Це забезпечить сумісність між веб-переглядачами та значно покращить форматування без необхідності поєднувати багато рядків разом! Наприклад:

moment().format('hh:mm:ss');
//Will return 14:37:36

4

Я використовую момент для потреб свого маніпулювання / відображення свого часу (як на стороні клієнта, так і на node.js, якщо ви його використовуєте), якщо вам просто потрібен простий формат, відповіді, які ви отримаєте вище, будуть робити, якщо ви шукаєте щось трохи складніше, Момент - шлях до ІМО.


3
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
    function ShowLocalDate()
    {
    var dNow = new Date();
    var localdate= (dNow.getMonth()+1) + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' + dNow.getHours() + ':' + dNow.getMinutes();
    $('#currentDate').text(localdate)
    }
</script>

</head>
<body>
    enter code here
    <h1>Get current local enter code here Date in JQuery</h1>
    <label id="currentDate">This is current local Date Time in JQuery</p>
    <button type="`enter code here button onclick="ShowLocalDate()">Show Local DateTime</button>

</body>
</html> 

ви можете отримати більше інформації за посиланням нижче

http://www.morgantechspace.com/2013/11/Get-current-Date-time-in-JQuery.html#GetLocalDateTimeinJQuery



1

Використовуючи вбудовані функції JavaScript, Ви можете отримати години , хвилини та секунди за вашим бажанням. Якщо ви бажаєте відформатувати дату та час, зокрема, ви можете реалізувати метод, що розширює прототип JavaScript Date.

Ось одна вже реалізована: https://github.com/jacwright/date.format


0

Для локального часу в ISO8601SQL TIMESTAMPви можете спробувати:

var tzoffset = (new Date()).getTimezoneOffset() * 60000;
var localISOTime = (new Date(Date.now() - tzoffset))
  .toISOString()
  .slice(0, 19)
  .replace('T', ' ');
$('#mydatediv').val(localISOTime);



0

Наступне

function gettzdate(){
    var fd = moment().format('YYYY-MM-DDTHH:MM:ss');
    return fd ; 
}

працює для виведення поточної дати на a <input type="datetime-local">

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.