Se eu tiver duas datas, como posso usar o JavaScript para obter a diferença entre as duas datas em minutos?
javascript
datetime
John
fonte
fonte
Respostas:
Você pode fazer o checkout deste código:
ou
var diffMins = Math.floor((...
descartar segundos se você não quiser arredondar os minutos.fonte
Math.round(((diffMs % 86400000) % 3600000) / 60000);
não está a funcionar quando a diferença é maior do que 60 minutosSubtrair 2 objetos Data fornece a diferença em milissegundos, por exemplo:
Math.abs
é usado para poder usar a diferença absoluta (portanto,new Date('2011/10/09 00:00') - new Date('2011/10/09 12:00')
fornece o mesmo resultado).Dividir o resultado por 1000 fornece o número de segundos. Dividir isso por 60 fornece o número de minutos. Para arredondar para minutos inteiros, use
Math.floor
ouMath.ceil
:Neste exemplo, o resultado será 720
fonte
(Math.floor(seconds/60))+':'+((seconds/60)%60)
se você precisar os segundos restantes demasiadonew Date(string)
um formato diferente de uma sequência de formato ISO-8601. Consulte Por que o Date.parse fornece resultados incorretos? ou use apenas números (por exemplo,new Date(2011, 9, 9, 12, 0, 0)
lembre-se de que os meses são 0).fonte
new Date(string)
um formato diferente de uma sequência de formato ISO-8601. Consulte Por que o Date.parse fornece resultados incorretos? ou use apenas números (por exemplo,new Date(2011, 9, 9, 12, 0, 0)
lembre-se de que os meses são 0).Uma função simples para executar este cálculo:
fonte
Isso deve mostrar a diferença entre as duas datas em minutos. Experimente no seu navegador:
fonte
(currDate.getTime() - oldDate.getTime()) / 60000
Para quem gosta de trabalhar com números pequenos
fonte
Este problema é resolvido facilmente com o moment.js, como neste exemplo:
var difference = mostDate.diff(minorDate, "minutes");
O segundo parâmetro pode ser alterado para outros parâmetros, consulte a documentação do moment.js.
por exemplo: "dias", "horas", "minutos" etc.
http://momentjs.com/docs/
A CDN para moment.js está disponível aqui:
https://cdnjs.com/libraries/moment.js
Obrigado.
EDITAR:
mostDate e minorDate devem ser do tipo momento.
fonte
Aqui está um pouco divertido que eu resolvi algo semelhante no nó.
Você pode vê-lo em ação em https://repl.it/@GioCirque/TimeSpan-Formatting
fonte
O código a seguir funcionou para mim,
fonte
Você pode fazer o seguinte:
difference of dates
(a diferença será em milissegundos)milliseconds
emminutes
iems/1000/60
O código:
fonte