Respostas:
var seconds = new Date() / 1000;
Ou, para uma versão menos hacky:
var d = new Date();
var seconds = d.getTime() / 1000;
Não se esqueça de Math.floor()
ou Math.round()
para arredondar para o número inteiro mais próximo ou você pode obter um decimal muito estranho que você não quer:
var d = new Date();
var seconds = Math.round(d.getTime() / 1000);
Number(new Date())
para obter um número, ou mesmo +(new Date())
, ou usar qualquer instância de Data em um contexto numérico como new Date()/1000
e Javascript converterá essa instância de Data em um número para trabalhar com suas equações matemáticas.
Tente o seguinte:
new Date().getTime() / 1000
Você pode usar Math.floor()
ou Math.round()
cortar a fração de milissegundos.
Você queria segundos desde a época
function seconds_since_epoch(){ return Math.floor( Date.now() / 1000 ) }
exemplo de uso
foo = seconds_since_epoch();
As soluções acima usam propriedades da instância. Outra maneira é usar a propriedade de classe Date.now
:
var time_in_millis = Date.now();
var time_in_seconds = time_in_millis / 1000;
Se você deseja que time_in_seconds seja um número inteiro, você tem 2 opções:
uma. Se você deseja ser consistente com o truncamento no estilo C:
time_in_seconds_int = time_in_seconds >= 0 ?
Math.floor(time_in_seconds) : Math.ceil(time_in_seconds);
b. Se você deseja apenas ter a definição matemática da divisão inteira, basta usar a palavra. (A divisão inteira do Python faz isso).
time_in_seconds_int = Math.floor(time_in_seconds);
Se você deseja apenas segundos como um número inteiro sem os decimais representando milissegundos ainda anexados, use o seguinte:
var seconds = Math.floor(new Date() / 1000);
Minha maneira preferida:
var msEpoch = (+new Date());
var sEpoch = (+new Date()) / 1000;
Para mais informações sobre o +
salto na toca do coelho .
A versão mais simples:
Math.floor(Date.now() / 1000)
No chrome, você pode abrir o console com F12 e testar o seguinte código:
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;
<- que tipo de magia arcana é essa?