Tenho uma data retornada como parte de uma consulta mySQL no formulário 2010-09-17
Gostaria de definir as variáveis $ Date2 para $ Date5 da seguinte maneira:
$Date2 = $Date + 1
$Date3 = $Date + 2
etc ..
para que ele retorne 2010-09-18
, 2010-09-19
etc ...
eu tentei
date('Y-m-d', strtotime($Date. ' + 1 day'))
mas isso me dá a data antes $Date
.
Qual é a maneira correta de obter minhas datas no formato 'Ymd' para que possam ser usadas em outra consulta?
Respostas:
Tudo que você precisa fazer é usar em
days
vez deday
:E ele sai corretamente:
fonte
day
tão bem ...date("Y-m-d", strtotime('2010-09-17 + 1 day'))
->2010-09-18
,date("Y-m-d", strtotime('2010-09-17 + 2 day'))
->2010-09-19
Se você estiver usando o PHP 5.3, poderá usar um
DateTime
objeto e seuadd
método:Dê uma olhada na página do manual do
DateInterval
construtor para ver como construir outros períodos para adicionar à sua data (dois dias seriam'P2D'
, três seriam'P3D'
etc.).Sem o PHP 5.3, você deve poder usar
strtotime
da maneira que fez (eu testei e funciona nos 5.1.6 e 5.2.10):fonte
DateTime::construct
usa o mesmo mecanismostrtotime
para analisar a data, para que você também pode fazernew DateTime("+1 day $date")
o que não exigiria 5.3A partir do PHP 5.2, você pode usar modify com um objeto DateTime:
http://php.net/manual/en/datetime.modify.php
Tenha cuidado ao adicionar meses ... (e, em menor grau, anos)
fonte
Aqui está um pequeno trecho para demonstrar as modificações de data:
fonte
Você também pode usar o seguinte formato
Você pode empilhar as alterações desta maneira:
Observe a diferença entre essa abordagem e a de outras respostas: em vez de concatenar os valores
+1 day
e<timestamp>
, você pode simplesmente passar o registro de data e hora como o segundo parâmetro destrtotime
.fonte
Usando uma variável para Número de dias
fonte
Aqui está a solução mais simples para sua consulta
fonte
Aqui tem uma maneira fácil de resolver isso.
A saída será:
A solução foi encontrada aqui - Como adicionar dias até a data no PHP
fonte
Todos têm que usar o código abaixo:
fonte