En muchas ocasiones tendremos la necesidad de mostrar ya sea por pantalla o simplemente almacenar en una variable una fecha en concreto, y la mayoría de las veces es una fecha pasada, como pueda ser una semana antes, un mes antes, o un año antes.
Para ello utilizaremos los métodos
date() y
mktime();
mktime() nos devuelve el
timestamp de una fecha, si no le damos ningún parámetro nos devuelve la fecha actual; ojo fecha y hora UTC en España en concreto usamos UTC +1 podemos comprobar la fecha devuelta copiando el código que nos da, que sera algo al estilo:
1393605543 que es la fecha en la que estoy escribiendo esto; ingresando esos números en
http://www.unixtimestamp.com/index.php
Por otro lado podemos formatearlo para verlo en días mes año, o como mas nos guste gracias a la función
date(), a la que pasandole un string con el formato deseado lo tendremos todo solucionado,
Y lo usaremos para la posición del año,
m para la del mes, y
d para el día. entre medias podemos poner
/ - espacio, lo que mas nos guste.
Para sacar una fecha en concreto en el
mktime usaremos la función
date() y le restaremos, o sumaremos, según necesitemos los días, meses, años e incluso minutos, horas o segundos por ejemplo:
- date( "Y-m-d",mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))) -> nos da la fecha de hace un mes
- date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d")-1, date("Y"))) -> nos da la fecha de ayer
- date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d"), date("Y")-1)) -> nos da la fecha de hace un año
- date( "Y-m-d",mktime(0, 0, 0, date("m")+1,date("d"), date("Y"))) -> nos da la fecha de dentro de un mes
- date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d")+7, date("Y"))) -> nos da la fecha de dentro de una semana
- date( "Y-m-d",mktime(0, 0, 0, date("m"),date("d"), date("Y")+1)) -> nos da la fecha de dentro de un año
Os dejo un par de ejemplos de su uso
<?php echo date( "Y-m-d",mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))); ?>
<input type="date" name="desde" id="desde" value="<?php echo date( "Y-m-d",mktime(0, 0, 0, date("m")-1,date("d"), date("Y"))); ?>"/> al <input type="date" name="hasta" id="hasta" value="<?php echo date('Y-m-d'); ?>"/>