variable una ultimo semana sacar primer obtener mes fechas fecha ejemplos anterior php datetime subtraction

una - PHP: ¿la forma más sencilla de obtener la fecha del mes 6 meses anterior a la primera?



strtotime php ejemplos (4)

Entonces, si hoy fuera 12 de abril de 2010, debería regresar el 1 de octubre de 2009.

Algunas soluciones posibles que he buscado en Google parecen demasiado complejas, ¿alguna sugerencia?


Hm, tal vez algo como esto;

echo date("F 1, Y", strtotime("-6 months"));

EDITAR;

si desea especificar un uso de fecha personalizado;

echo date("F, 1 Y", strtotime("-6 months", strtotime("Feb 2, 2010")));


Se discutió en los comentarios, pero la respuesta aceptada tiene algunas strtotime() innecesarias de strtotime() . Se puede simplificar para:

date("F 1, Y", strtotime("Feb 2, 2010 - 6 months"));

Además, puedes usar DateTime() como este, que creo que es igual de legible:

(new DateTime(''Feb 2, 2010''))->modify(''-6 months'')->format(''M 1, Y'');

O usando el método estático ....

DateTime::createFromFormat(''M j, Y'',''Feb 2, 2010'') ->modify(''-6 months'') ->format(''M 1, Y'');


Un poco hackish pero funciona:

$date_half_a_year_ago = mktime(0, 0, 0, date(''n'')-6, 1, date(''y''))


usa una combinación de mktime y date :

$given_timestamp = getSomeDate(); $date_half_a_year_ago = mktime(0, 0, 0, date(''n'', $given_timestamp)-6, 1, date(''y'', $given_timestamp))

para hacer la nueva fecha en relación con una fecha determinada y no hoy, date llamada con un segundo parámetro

echo date(''F j, Y'', $date_half_a_year_ago);

para imprimirlo formateado, simplemente use la date otra vez:

<?php $date = new DateTime("-6 months"); $date->modify("-" . ($date->format(''j'')-1) . " days"); echo $date->format(''j, F Y''); ?>