Então, eu tenho duas datas YYYY-MM-DD
eZZZZ-NN-EE
Como posso descobrir quantos segundos existem entre eles?
javascript
date
time
steven
fonte
fonte
yyyy-MM-dd
é claro (ano, mês, dia - observe que nem todas são maiúsculas), mas ZZZZ-NN-EE não é. Eu interpreto como (fuso horário, ???, dia da semana). É uma semana do ano? Se assim fosse, teria sidoww
. Mas ainda assim precisamos do ano para calcular a diferença. Você pode fornecer alguns dos valores reais da amostra?Respostas:
Estou usando YYYY & ZZZZ para significar valores inteiros que significam o ano, MM & NN para significar valores inteiros, significando o mês do ano, e DD & EE como valores inteiros, significando o dia do mês.
Uma fonte útil para referência futura é o site MDN
Como alternativa, se suas datas estiverem em um formato, o javascript poderá analisar
e então você pode usar esse valor como a diferença em milissegundos (dif nos dois exemplos tem o mesmo significado)
fonte
yyyy
, os meses de 2 dígitos em maiúsculasMM
e os dias de 2 dígitos em minúsculasdd
.t2
.Apenas subtraia:
fonte
a
eb
e certifique-se de que eles são datas.Se uma ou ambas as datas estiverem no futuro, receio que você seja SOL, se quiser precisão de um segundo. O horário UTC tem segundos bissextos que não são conhecidos até cerca de 6 meses antes de eles acontecerem; portanto, qualquer data além disso pode ser imprecisa em alguns segundos (e, na prática, como as pessoas não atualizam suas máquinas com tanta frequência, você pode achar que a qualquer momento no futuro está desativado por alguns segundos).
Isso fornece uma boa explicação da teoria do design de bibliotecas de data / hora e por que isso ocorre: http://www.boost.org/doc/libs/1_41_0/doc/html/date_time/details.html#date_time.tradeoffs
fonte
Você pode fazer isso simplesmente.
fonte
crie dois
Date
objetos e chame osvalueOf()
dois, depois compare-os.Referência de objeto de data do JavaScript
fonte
fonte
Jeito fácil:
fonte
Na festança:
Requer a instalação de data bc e gnu.
fonte
.Net fornece a classe TimeSpan para fazer as contas para você.
fonte