Como calcular a diferença minuto entre duas datas e horas no PHP?
270
Subtraia o passado mais um do futuro mais um e divida por 60.
Os horários são feitos no formato Unix; portanto, eles são apenas um grande número, mostrando o número de segundos entre January 1, 1970, 00:00:00 GMT
As respostas acima são para versões mais antigas do PHP. Use a classe DateTime para fazer qualquer cálculo de data agora que o PHP 5.3 é a norma. Por exemplo.
$ since_start é um objeto DateInterval . Observe que a propriedade days está disponível (porque usamos o método diff da classe DateTime para gerar o objeto DateInterval).
O código acima exibirá:
1837 dias total
5 anos
0 meses
10 dias
6 horas
14 minutos
2 segundos
Para obter o número total de minutos:
Isso produzirá:
2645654 minutos
Qual é o número real de minutos que passaram entre as duas datas. A classe DateTime levará em consideração o horário de verão (dependendo do fuso horário), onde a "maneira antiga" não será. Leia o manual sobre Data e hora http://www.php.net/manual/en/book.datetime.php
fonte
inSeconds()
ou algo semelhante, agora é repetição de código em todos os lugares em que preciso calcular a diferença em segundos.$dateFrom = new DateTime('2007-09-01 04:10:58'); $dateTo = new DateTime('2012-09-11 10:25:00'); echo ($dateTo->getTimestamp()-$dateFrom->getTimestamp())/60 ;
strtotime
resposta acima? Este parece ser um caso de OOP quando o Procedural é pelo menos tão válido (e consideravelmente mais conciso).Aqui está a resposta:
fonte
/ 60,2
meios: dividir por sessenta, arredondar para as duas casas decimais mais próximas.strtotime
pode ser obsoleto, mas não é confiável se você o usar corretamente. É lógico que você precisa trabalhar com formatos de data consistentes para poder ler (ou analisar) as datas corretamente. VerISO 8601
e não culpo as ferramentas: =)fonte
sleep
calcular algumas diferenças de data?Funcionou nos meus programas, estou usando
date_diff
, você pode conferir odate_diff
manual aqui .Você obtém resultados o que você deseja.
fonte
outra maneira com o fuso horário.
fonte
$days = $interval->format('%d');
o diff($days * 1440 + $hours * 60 + $minutes)
. Por meses, anos => mesma lógica #Eu escrevi essa função para um site do meu blog (diferença entre uma data passada e a data do servidor). Isso lhe dará uma saída como esta
"49 segundos atrás", "20 minutos atrás", "21 horas atrás" e assim por diante
Eu usei uma função que me daria a diferença entre a data passada e a data do servidor.
Salve-o como um arquivo, suponha "date.php". Chame a função de outra página como esta
Claro que você pode modificar a função para passar dois valores.
fonte
Eu acho que isso vai te ajudar
fonte
$minutes = floor(($seconds/60)%60);
fonte
Uma versão mais universal que retorna resulta em dias, horas, minutos ou segundos, incluindo frações / decimais:
fonte
Foi assim que eu exibi "xx times ago" em php> 5.2. Aqui estão mais informações sobre o objeto DateTime
fonte
Resultado:
fonte
Subtraia os tempos e divida por 60.
Aqui está um exemplo que calcula o tempo decorrido
2019/02/01 10:23:45
em minutos:fonte
Minha solução para encontrar a diferença entre duas datas está aqui. Com esta função, você pode encontrar diferenças como segundos, minutos, horas, dias, anos e meses.
Você pode desenvolver esta função. Eu testei e trabalha para mim. A saída do objeto DateInterval está aqui:
Uso da função:
$ date = a data anterior, $ diff = type, por exemplo: "minutos", "dias", "segundos"
Boa sorte.
fonte
Isso vai ajudar....
fonte
Encontrei tantas soluções, mas nunca obtive a solução correta. Mas eu criei algum código para encontrar minutos, verifique.
Dá saída em horas e minutos, por exemplo, 01 hora e 02 minutos como 01:02
fonte