Estou realmente preso em adicionar X minutos a uma data e hora, depois de fazer muita pesquisa no Google e ler manuais de PHP, não estou chegando a lugar nenhum.
O formato de data e hora que tenho é:
2011-11-17 05:05
: year-month-day hour:minute
Os minutos para adicionar serão apenas um número entre 0 e 59
Gostaria que a saída fosse igual ao formato de entrada com os minutos adicionados.
Alguém poderia me dar um exemplo de código funcional, já que minhas tentativas não parecem estar me levando a lugar nenhum?
strtotime
produz um timestamp Unix como uminteger
que é útil se você estiver, por exemplo, classificando datas em php. ADateTime
classe fornece opções para operações de estilo de objeto e procedural. É mais legível e também tem melhor suporte para lidar com diferenças entre fusos horários diferentes; por exemplo, se você tiver um projeto que gera datas para vários fusos horários diferentes originados da mesma instância de dados.A classe DateTime do PHP possui um método de modificação útil que aceita um texto fácil de entender.
Você também pode usar interpolação ou concatenação de string para parametrizá-la:
fonte
resultado é
Demonstração ao vivo é
here
Se você ainda não está familiarizado com ele
strtotime
, é melhorphp.net
descobrir seu grande poder :-)fonte
Você pode fazer isso com funções nativas facilmente:
Eu recomendaria o método da classe DateTime, postado recentemente por Tim.
fonte
Achei que isso ajudaria a lidar com fusos horários também. Minha solução modificada é baseada na solução do @Tim Cooper, a resposta correta acima.
A linha em negrito, linha 3, é a adição. Espero que isso ajude algumas pessoas também.
fonte
Uma resposta um pouco tardia, mas o método que usaria é:
Ou em PHP> = 5,4
fonte
Se você quiser fornecer uma variável que contenha os minutos.
Então eu acho que essa é uma ótima maneira de conseguir isso.
fonte
Usar
strtotime("+5 minute", $date);
Exemplo:
fonte
Não sei por que a abordagem definida como solução não funcionou para mim. Então estou postando aqui o que funcionou para mim na esperança de que possa ajudar alguém:
fonte
Conforme observado por Brad e Nemoden em suas respostas acima, strtotime () é uma ótima função. Pessoalmente, achei o objeto DateTime padrão excessivamente complicado para muitos casos de uso. Eu só queria adicionar 5 minutos ao horário atual, por exemplo.
Escrevi uma função que retorna uma data como string com alguns parâmetros opcionais:
1.) time: String | ex: "+5 minutos" (padrão = hora atual)
2.) formato: String | ex: "Ymd H: i: s" (padrão = "Ymd H: i: s O")
Obviamente, este não é um método completo. Apenas uma função rápida e simples para modificar / formatar a data atual.
fonte
Mais um exemplo de função para fazer isso: (alterando os formatos de tempo e intervalo da maneira que quiser, de acordo com isso para function.date e isso para DateInterval ):
(Também escrevi uma forma alternativa da função abaixo .)
fonte
formato de data e hora mysql de uma linha
fonte
Sem usar uma variável:
Com o uso de uma variável:
fonte
$yourDate
? O que essa resposta adiciona às respostas semelhantes postadas anos antes?