Risposte:
var seconds = new Date() / 1000;
Oppure, per una versione meno confusa:
var d = new Date();
var seconds = d.getTime() / 1000;
Non dimenticate di Math.floor()o Math.round()per arrotondare al numero intero più vicino o si potrebbe ottenere un decimale molto strano che non si desidera:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);
Number(new Date())per ottenere un numero, o anche +(new Date()), o utilizzare qualsiasi istanza di Date in un contesto numerico come new Date()/1000e Javascript convertirà utile quell'istanza di Date in un numero per lavorare con le tue equazioni matematiche.
Prova questo:
new Date().getTime() / 1000
Potresti voler usare Math.floor()o Math.round()tagliare una frazione di millisecondi.
Volevi secondi dall'epoca
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
esempio di utilizzo
foo = seconds_since_epoch();
Le soluzioni precedenti utilizzano le proprietà dell'istanza. Un altro modo è utilizzare la proprietà class Date.now:
var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;
Se vuoi che time_in_seconds sia un numero intero hai 2 opzioni:
un. Se vuoi essere coerente con il troncamento in stile C:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
b. Se vuoi avere solo la definizione matematica di divisione di numeri interi da tenere, prendi semplicemente la parola. (La divisione intera di Python lo fa).
time_in_seconds_int = Math.floor(time_in_seconds);
Se vuoi solo secondi come numero intero senza i decimali che rappresentano millisecondi ancora collegati, usa questo:
var seconds = Math.floor(new Date() / 1000);
Il mio modo preferito:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Per ulteriori informazioni sul + salto nella tana del coniglio .
La versione più semplice:
Math.floor(Date.now() / 1000)
In Chrome puoi aprire la console con F12 e testare il seguente codice:
var date = new Date().getTime()
console.debug('date: ' + date);
if (Date.now() < date)
console.debug('ko');
else
console.debug('ok');
EPOCH means time from 01 January 1970
var date = new Date();
Following line will return the number of milliseconds from 01 Jaunary 1970
var ms = date.getTime();
Following line will convert milliseconds to seconds
var seconds = Math.floor(ms/1000);
console.log("Seconds since epoch =",seconds);
var seconds = new Date() / 1000;<- che tipo di magia arcana è questa?