Réponses:
var seconds = new Date() / 1000;
Ou, pour une version moins hacky:
var d = new Date();
var seconds = d.getTime() / 1000;
N'oubliez pas d'arrondir Math.floor()
ou Math.round()
d'arrondir au nombre entier le plus proche ou vous pourriez obtenir une décimale très étrange que vous ne voulez pas:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);
Number(new Date())
pour obtenir un nombre, ou même +(new Date())
, ou utiliser n'importe quelle instance de Date dans un contexte numérique tel que new Date()/1000
et Javascript convertira utilement cette instance de Date en nombre pour travailler avec vos équations mathématiques.
Essaye ça:
new Date().getTime() / 1000
Vous voudrez peut-être utiliser Math.floor()
ou Math.round()
couper une fraction de millisecondes.
Tu voulais des secondes depuis l'époque
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
exemple d'utilisation
foo = seconds_since_epoch();
Les solutions ci-dessus utilisent des propriétés d'instance. Une autre façon consiste à utiliser la propriété class Date.now
:
var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;
Si vous voulez que time_in_seconds soit un entier, vous avez 2 options:
une. Si vous voulez être cohérent avec la troncature de style C:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
b. Si vous voulez simplement avoir la définition mathématique de la division entière, prenez la parole. (La division entière de Python fait cela).
time_in_seconds_int = Math.floor(time_in_seconds);
Si vous ne voulez que des secondes sous forme de nombre entier sans les décimales représentant les millisecondes encore attachées, utilisez ceci:
var seconds = Math.floor(new Date() / 1000);
Ma manière préférée:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Pour plus d'informations sur le +
saut dans le terrier du lapin .
La version la plus simple:
Math.floor(Date.now() / 1000)
Dans Chrome, vous pouvez ouvrir la console avec F12 et tester le code suivant:
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;
<- de quel genre de magie arcanique s'agit-il?