2011-07-19 15 views
9

Supongamos que saco un campo de la base de datos, un campo de marca de tiempo.Cómo obtener la marca de tiempo Unix por un mes en el futuro dada una fecha

¿Cómo obtengo la marca de tiempo Unix, 1 mes en el futuro, de ese campo de marca de tiempo?

Mi cerebro está un poco cansado, así que necesito un poco de trote.

+1

tiempo_actual + 60 * 60 * 24 * 30 – user482594

+3

Es decir, 30 días en el futuro, quiero un mes en el futuro. – FinalForm

+0

Gracias chicos. Estoy siendo retrasado. Estoy un poco cansado. – FinalForm

Respuesta

20
$newDate = strtotime('+1 month',$startDate); 

Usando strtotime() puede pasar '+1 mes' para añadir un contexto mes sensible.

2

¿No sería

strtotime('+1 month', $value_from_db); 

trabajo?

7

me gustaría utilizar la función strtotime(), añadir +1 month a su marca de tiempo:

$future = strtotime('+1 month', $current_time); 


Con strtotime(), usted no tiene que pensar en sí mismo acerca de cosas como "algunos meses avec 30 días, y los demás tiene 31 "o" febrero a veces tiene 28 días y a veces 29 ".

Después de todo, la adición de un mes para una fecha es un poco más difícil que la adición de 30 * 24 * 3600 segundos ...


También puede trabajar con la clase DateTime, y métodos como DateTime::modify() o DateTime::add() .

+0

gracias, no estaba pensando claramente. Por alguna razón, seguía pensando que strtotime() solo permitía un parámetro. – FinalForm

+0

Huhu ^^ no hay problema :-) –

2

Depende de la base de datos.

(No sé los demás, lo siento)

Por supuesto también hay strtotime('+1 month', $current_time); en PHP. Por supuesto, strtotime es tan increíblemente fácil que podrías considerarlo hacer trampa ;-).

0

¿Qué tal algo como:

tm *currTime = localtime(timestamp); 

currTime->tm_mon++; 

timestamp = mktime(currTime); 
Cuestiones relacionadas