Come ottenere l'ora corrente con jQuery


129

Quanto segue restituisce il tempo in microsecondi, ad esempio 4565212462.

alert( $.now() );

Come posso convertirlo in un formato orario leggibile dall'uomo, come (ore: minuti: secondi) ?


1
Non è necessario jQuery $.now()poiché JavaScript ha un'implementazione nativa: stackoverflow.com/questions/20456712/…
Josh Crozier,

Correzioni: (1) Questo è stato sostituito con Date.now () e (2) nativi Il tempo restituito è espresso in millisecondi, non in microsecondi.
den232,

Risposte:


304

Puoi provare così:

new Date($.now());

Anche usando Javascript puoi fare così:

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


7
Si noti che .getHours () restituisce le ore nel fuso orario della macchina locale. Se l'utente ha il proprio browser in un fuso orario diverso da te, otterrà altri risultati da getHours. Questo vale anche per il metodo .toString (). Controllare il fuso orario in JavaScript è complicato (devi calcolare l'offset tra il tuo fuso orario e quello desiderato e modificare la data di conseguenza). Quindi, come menzionato in un'altra risposta, l'uso di moment.js sembra una buona idea. momentjs.com
Chris,

1
Dovresti anche considerare l'inclusione di padStart per ogni get: dt.getMinutes (). ToString.padStart (2, '0') Questo assicurerà che i numeri rimangano a 2 cifre con uno zero imbottito e segua la funzionalità javascript proposta - così carina a prova di futuro: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Zero negativo

2
@NegativeZero Un suggerimento davvero utile (se non essenziale). Sfortunatamente non ha funzionato per me su Firefox (non ho testato su altri browser). Tuttavia, riscrivendolo come String (dt.getMinutes ()). PadStart (2, '0') funziona per me.
biscuitstack

54

Devi recuperare tutti i "numeri" manualmente

come questo:

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

document.write(datetime);


39

Converti un Dateoggetto in una stringa, utilizzando uno dei Date.prototypegetter di conversione , ad esempio:

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"

Oppure, se lo desideri più personalizzato, consulta l'elenco dei Date.prototypemetodi getter .


25

Non è necessario utilizzare jQuery per questo!

L' implementazione JavaScript nativa èDate.now() .

Date.now()e $.now()restituisce lo stesso valore:

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)

..e se vuoi che l'ora sia formattata in hh-mm-ss:

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

1
Non è necessario fornire i parametri per la nuova data () come predefinito per ora.
Andrew Spode,

1
@Spode Ah, buon punto. Non sono sicuro del motivo per cui altre risposte stessero usando jQuery allora.
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>


9

jQuery.now() Restituisce: Numero

Descrizione: restituisce un numero che rappresenta l'ora corrente.

Questo metodo non accetta alcun argomento.

Il $.now()metodo è una scorciatoia per il numero restituito dall'espressione (new Date).getTime().

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

Javascript è semplice da usare:

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

5

$ .now () di jQuery è un alias di new Date (). getTime (), una funzione Javascript interna.

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

Ciò restituisce il numero di secondi trascorsi dal 1970, comunemente indicato (non necessariamente correttamente) come Unix Time, Epoch o Timestamp, a seconda dei cerchi in cui cadi. Può essere molto utile per calcolare la differenza tra date / orari usando semplici calcoli matematici . Non ha informazioni su TimeZone ed è sempre UTC.

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

Non è necessario utilizzare jQuery come diverso da questo alias, fa ben poco per aiutare con la manipolazione di data / ora.

Se stai cercando un modo rapido e sporco di rappresentare l'ora nel testo, l'oggetto Javascript Date ha un prototipo "toString" che restituirà un Date Time in formato ISO.

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

Molto probabilmente però, vorrai personalizzare la tua formattazione. L'oggetto Date ha la capacità di estrarre i dettagli rilevanti in modo da poter creare la propria rappresentazione di stringa.

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

Tuttavia, poiché hai chiesto una soluzione jQuery, è probabile che tu stia lavorando con browser più vecchi. Se si desidera eseguire operazioni più specifiche, in particolare l'interpretazione delle stringhe negli oggetti Date (utile per le risposte API), è possibile esaminare Moment.js.

http://momentjs.com/

Ciò garantirà la compatibilità tra browser e una formattazione molto migliorata senza dover concatenare molte stringhe insieme! Per esempio:

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

4

Uso il momento per tutte le mie necessità di manipolazione / visualizzazione del tempo (sia lato client, sia node.js se lo usi), se hai solo bisogno di un formato semplice le risposte sopra lo faranno, se stai cercando qualcosa di un po 'più complesso, momento è il modo di andare IMO.


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> 

puoi ottenere maggiori informazioni dal link sottostante

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


1

Provare

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



0

Per l'ora locale in ISO8601per SQL TIMESTAMPpuoi provare:

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

0

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


Aggiungi una spiegazione pertinente alla tua risposta
Anantha Raju C

0

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

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

Puoi usare Date () in JS.


0

Il seguente

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

funziona per forzare la data corrente su a <input type="datetime-local">

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.