Uma solução genérica para obter o carimbo de data / hora Unix de qualquer Date
objeto JavaScript .
// Copy & Paste this
Date.prototype.getUnixTime = function() { return this.getTime()/1000|0 };
if(!Date.now) Date.now = function() { return new Date(); }
Date.time = function() { return Date.now().getUnixTime(); }
// Get the current time as Unix time
var currentUnixTime = Date.time();
currentUnixTime = Date.now().getUnixTime(); // same as above
// Parse a date and get it as Unix time
var parsedUnixTime = new Date('Mon, 25 Dec 1995 13:30:00 GMT').getUnixTime();
// parsedUnixTime==819898200
Motivação
O tempo Unix (também conhecido como tempo de época) é amplamente usado no tipo Unix e em muitos outros sistemas operacionais e formatos de arquivo. Infelizmente, há uma pequena discrepância entre a time()
chamada de estilo C e o JavaScript Date.getTime()
:
Um carimbo de data / hora Unix é definido como o número de segundos decorridos desde 00:00:00 Coordinated Universal Time (UTC), quinta-feira, 1 de janeiro de 1970.
JavaScript retorna o valor numérico da data especificada como o número de milissegundos desde 1º de janeiro de 1970, 00:00:00 UTC (negativo para horários anteriores).Date.getTime()
Solução
Copie e cole o seguinte código no início do seu JavaScript:
Date.prototype.getUnixTime = function() { return this.getTime()/1000|0 };
if(!Date.now) Date.now = function() { return new Date(); }
Date.time = function() { return Date.now().getUnixTime(); }
*** Feito! ***
Uso
As três linhas acima adicionam:
Date.getUnixTime()
retorna o tempo de época do Unix.Date.now()
polyfill para navegadores mais antigos.Date.time()
é uma função auxiliar de estilo C que retorna a hora Unix atual.
Obtenha a hora atual como um carimbo de data / hora Unix
var currentUnixTime = Date.time();
que é curto para
var currentUnixTime = Date.now().getUnixTime();
Obtenha a hora atual como objeto JavaScript Date
var currentTime = Date.now();
Obtenha a hora Unix de qualquer objeto JavaSript Date
var someDate = new Date('Mon, 25 Dec 1995 13:30:00 GMT');
var theUnixTime = someDate.getUnixTime();
Trabalho relatado
- MomentJS é uma excelente biblioteca para analisar, manipular e formatar valores de data e hora em JavaScript
- Perguntas sobre StackOverflow: Como você consegue um carimbo de data / hora em JavaScript? e como obter epoch / unix atual em JS?