2012-05-15 16 views
73

Come posso ottenere l'ora corrente in JavaScript e usarla in un timer?Come ottengo l'ora corrente solo in JavaScript

ho cercato e ottenuto var x = date():

mar 15 maggio 2012 05:45:40 GMT-0500

ma ho bisogno solo il tempo attuale, come 05:45

Come posso assegnarlo a una variabile?

+14

@swati perché vogliamo che questa sia la nostra fonte di avanzamento per tutti i nostri problemi di programmazione. Forse qualcun altro ha una soluzione migliore e in questo modo possono essere tutti elencati come riferimento in un punto. – Alfred

+20

@swati - So che hai scritto quel commento più di 3 anni fa, ma ora questa pagina è il risultato di ricerca n. 1 in Google per "get time part JavaScript". Tieni presente che la domanda di oggi è i risultati di ricerca di domani. –

+2

'new Date(). ToLocaleTimeString();' è il modo più semplice; peccato che la soluzione sia appena visibile qui. – vaxquis

risposta

127
var d = new Date("2011-04-20T09:30:51.01"); 
d.getHours(); // => 9 
d.getMinutes(); // => 30 
d.getSeconds(); // => 51 

o

var d = new Date(); // for now 
d.getHours(); // => 9 
d.getMinutes(); // => 30 
d.getSeconds(); // => 51 
+1

'var d = new Date (" 2011-04-20 09: 30: 51.01 "); Avviso (d.getHours()); // => 9' output 'NaN' – Chinmay235

+1

@ Chinmay235 Aggiunto' T' quindi ora è l'iso universale giusto. A proposito, vedo solo "undefined" in IE. Comunque risolto. –

7

vuoi dire:

var d = new Date(); 
var curr_hour = d.getHours(); 
var curr_min = d.getMinutes(); 
7

Prova questo:

var date = new Date(); 
var hour = date.getHours(); 
var min = date.getMinutes(); 
4

questo -

var x = new Date(); 
var h = x.getHours(); 
var m = x.getMinutes(); 
var s = x.getSeconds(); 

cd

x = date 
h = hours 
m = mins 
s = seconds 
47

Prendi e impostare l'ora corrente in modo efficiente utilizzando JavaScript

non riuscivo a trovare una soluzione che ha fatto esattamente quello che mi serviva. Volevo pulito e piccolo codice in modo sono arrivato fino a questo:

(. Impostare una volta nelle vostre master.js e richiamare quando necessario)

PURE JAVASCRIPT

function timeNow(i) { 
 
    var d = new Date(), 
 
     h = (d.getHours()<10?'0':'') + d.getHours(), 
 
     m = (d.getMinutes()<10?'0':'') + d.getMinutes(); 
 
    i.value = h + ':' + m; 
 
}
<a onclick="timeNow(test1)" href="#">SET TIME</a> 
 
<input id="test1" type="time" value="10:40"/> 
 

 
<br/> 
 
<a onclick="timeNow(test2)" href="#">SET TIME</a> 
 
<input id="test2" type="time" value="10:40"/>

Try it on jsfiddle

+3

Non so perché questo non è stato svitato più ... bel lavoro! – gcoleman0828

+1

@ gcoleman0828 Ero in ritardo per la festa. Grazie per il voto :) – Obsidian

+0

... Hai digitato 'get' come 'set'? In caso contrario, la risposta non corrisponde al titolo e il titolo non corrisponde alla domanda. –

18

Prova

new Date().toLocaleTimeString().replace("/.*(\d{2}:\d{2}:\d{2}).*/", "$1"); 

oppure

new Date().toTimeString().split(" ")[0]; 
+0

Nel secondo modulo se si utilizza solo toString() e si cambia da 0 a 4, si ottiene anche solo l'ora nel formato HH: MM: SS. – BigMac66

2

Assegnare a visualizzabili e visualizzarlo.

time = new Date(); 

var hh = time.getHours(); 
var mm = time.getMinutes(); 
var ss = time.getSeconds() 

document.getElementById("time").value = hh + ":" + mm + ":" + ss; 
31

Breve e semplice:

new Date().toLocaleTimeString(); // 11:18:48 AM 
//--- 
new Date().toLocaleDateString(); // 11/16/2015 
//--- 
new Date().toLocaleString(); // 11/16/2015, 11:18:48 PM 

4 ore più tardi (uso millisec: sec == 1000):

new Date(new Date().getTime() + 4*60*60*1000).toLocaleTimeString(); // 3:18:48 PM or 15:18:48 

2 giorni prima:

new Date(new Date().getTime() - 2*24*60*60*1000).toLocaleDateString() // 11/14/2015 
+1

Il calcolo dell'aggiunta e della sottrazione è utile! –

1

Questo è la via più breve

var now = new Date().toLocaleTimeString(); 
console.log(now) 

Qui è anche un modo attraverso la manipolazione di stringhe che non è stato menzionato.

var now = new Date() 
console.log(now.toString().substr(16,8)) 
1

Ecco come si può fare.

var date = new Date(); 
var time = date.toTimeString().split(' ')[0].split(':'); 

var date = new Date(); 
 
var time = date.toTimeString().split(' ')[0].split(':'); 
 
console.log(time[0]+':'+time[1])

2
var date = Date().slice(16,21); 
document.write(date); 
Problemi correlati