Comment obtenir l'heure actuelle avec jQuery

129

Ce qui suit renvoie le temps en microsecondes, par exemple 4565212462.

alert( $.now() );

Comment puis-je le convertir en un format d'heure lisible par l'homme, tel que (heures: minutes: secondes) ?

Relm
la source
1
Vous n'avez pas besoin de jQuery $.now()car JavaScript a une implémentation native: stackoverflow.com/questions/20456712/…
Josh Crozier
Corrections: (1) Cela a été remplacé par le natif Date.now (), et (2) L'heure renvoyée est en millisecondes, pas en microsecondes.
den232

Réponses:

304

Vous pouvez essayer comme ceci:

new Date($.now());

En utilisant également Javascript, vous pouvez faire comme ceci:

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

Rahul Tripathi
la source
7
Veuillez noter que .getHours () renvoie les heures dans le fuseau horaire de la machine locale. Si l'utilisateur a son navigateur dans un autre fuseau horaire que vous, il obtiendra d'autres résultats de getHours. Cela est également vrai pour la méthode .toString (). Le contrôle du fuseau horaire en javascript est délicat (vous devez calculer le décalage entre votre et le fuseau horaire souhaité et modifier la date en conséquence). Donc, comme mentionné dans une autre réponse, utiliser moment.js semble être une bonne idée. momentjs.com
Chris
1
Vous devriez également envisager d'inclure padStart à chaque get: dt.getMinutes (). ToString.padStart (2, '0') Cela garantira que les nombres restent longs de 2 chiffres avec un zéro rempli, et cela suit la fonctionnalité javascript proposée - si jolie à l'épreuve du futur: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
Negative Zero
2
@NegativeZero Une suggestion vraiment utile (sinon essentielle). Malheureusement, cela n'a pas fonctionné pour moi sur Firefox (je n'ai pas testé sur d'autres navigateurs). Cependant, le réécrire en String (dt.getMinutes ()). PadStart (2, '0') fonctionne pour moi.
biscuitstack
54

Vous devez récupérer tous les "numéros" manuellement

comme ça:

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

document.write(datetime);

Philippe G
la source
39

Convertissez un Dateobjet en chaîne, en utilisant l'un des outils de Date.prototypeconversion de , par exemple:

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"

Ou, si vous le souhaitez plus personnalisé, consultez la liste des Date.prototypeméthodes getter de .

Oriol
la source
25

Vous n'avez pas besoin d'utiliser jQuery pour cela!

L' implémentation native de JavaScript estDate.now() .

Date.now()et $.now()renvoyez la même valeur:

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)

..et si vous voulez que l'heure soit formatée en hh-mm-ss:

var now = new Date(Date.now());
var formatted = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
// 20:10:58
Josh Crozier
la source
1
Vous n'avez pas besoin de fournir de paramètres à la nouvelle Date () car elle est par défaut maintenant.
Andrew Spode
1
@Spode Ah, bon point. Je ne sais pas pourquoi d'autres réponses utilisaient jQuery à l'époque.
Josh Crozier
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>

Dessy Anggita Sangganingrum
la source
9

jQuery.now() Renvoie: Number

Description: renvoie un nombre représentant l'heure actuelle.

Cette méthode n'accepte aucun argument.

La $.now()méthode est un raccourci pour le nombre renvoyé par l'expression (new Date).getTime().

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

C'est simple d'utiliser Javascript:

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

$ .now () de jQuery est un alias de new Date (). getTime (), une fonction Javascript interne.

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

Cela renvoie le nombre de secondes écoulées depuis 1970, communément appelé (pas nécessairement correctement) l'heure Unix, l'époque ou l'horodatage, en fonction des cercles dans lesquels vous vous trouvez. Cela peut être très pratique pour calculer la différence entre les dates / heures à l'aide de simples mathématiques . Il ne contient aucune information sur la zone horaire et est toujours UTC.

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

Il n'est pas nécessaire d'utiliser jQuery comme autre que cet alias, il ne fait pas grand-chose d'autre pour aider à la manipulation de la date / heure.

Si vous recherchez une manière rapide et sale de représenter l'heure dans du texte, l'objet Date Javascript a un prototype "toString" qui renverra une Date Heure formatée ISO.

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

Plus que probablement, vous souhaiterez personnaliser votre mise en forme. L'objet Date a la capacité d'extraire vos détails pertinents afin que vous puissiez créer votre propre représentation sous forme de chaîne.

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

Cependant, comme vous avez demandé une solution jQuery, il est probable que vous travailliez avec des navigateurs plus anciens. Si vous souhaitez faire des choses plus spécifiques - en particulier interpréter des chaînes dans des objets Date (utile pour les réponses API), vous pouvez consulter Moment.js.

http://momentjs.com/

Cela garantira une compatibilité entre navigateurs et un formatage bien amélioré sans avoir à concaténer de nombreuses chaînes ensemble! Par exemple:

moment().format('hh:mm:ss');
//Will return 14:37:36
Andrew Spode
la source
4

J'utilise moment pour tous mes besoins de manipulation / affichage du temps (à la fois côté client et node.js si vous l'utilisez), si vous avez juste besoin d'un format simple, les réponses ci-dessus feront l'affaire, si vous cherchez quelque chose d'un peu plus complexe, le moment est la voie à suivre pour l'OMI.

TheZuck
la source
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> 

vous pouvez obtenir plus d'informations à partir du lien ci-dessous

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

Hussain Patel
la source
1

Essayer

console.log(
  new Date().toLocaleString().slice(9, -3)
  , new Date().toString().slice(16, -15)
);

invité271314
la source
1

En utilisant les fonctions de date natives de JavaScript, vous pouvez obtenir les heures , les minutes et les secondes à votre guise. Si vous souhaitez formater la date et l'heure d'une manière particulière, vous pouvez implémenter une méthode étendant le prototype JavaScript Date.

En voici un déjà implémenté: https://github.com/jacwright/date.format

Ruwanka Madhushan
la source
0

Pour l'heure locale ISO8601pour SQL, TIMESTAMPvous pouvez essayer:

var tzoffset = (new Date()).getTimezoneOffset() * 60000;
var localISOTime = (new Date(Date.now() - tzoffset))
  .toISOString()
  .slice(0, 19)
  .replace('T', ' ');
$('#mydatediv').val(localISOTime);
Renzo Fabio Castillo Cáceres
la source
0

console.log(
  new Date().toLocaleString().slice(9, -3)
  , new Date().toString().slice(16, -15)
);

Thendral R
la source
Ajouter une explication pertinente à votre réponse
Anantha Raju C
0

<p id="date"></p>

<script>
var d = new Date();
document.getElementById("date").innerHTML = d.toTimeString();
</script>

Vous pouvez utiliser Date () dans JS.

Suman Kumar
la source
0

Le suivant

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

fonctionne pour forcer la date actuelle sur un <input type="datetime-local">

Louis
la source