Quiero obtener la fecha de ayer usando un formato de fecha específico en php, este es el formato:
$today = date("d.m.Y"); //15.04.2013
¿Es posible?
Tenga en cuenta el mes y los años si se deben cambiar en los respectivos.
Quiero obtener la fecha de ayer usando un formato de fecha específico en php, este es el formato:
$today = date("d.m.Y"); //15.04.2013
¿Es posible?
Tenga en cuenta el mes y los años si se deben cambiar en los respectivos.
Respuestas:
ahi tienes
date('d.m.Y',strtotime("-1 days"));
esto también funcionará si el mes cambia
puedes hacer esto por
date("F j, Y", time() - 60 * 60 * 24);
o por
date("F j, Y", strtotime("yesterday"));
Paso 1
Necesitamos establecer datos de formato en la función date (): La función date () devuelve una cadena formateada de acuerdo con la cadena de formato dada usando la marca de tiempo entera dada o la hora actual si no se da ninguna marca de tiempo. En otras palabras, la marca de tiempo es opcional y por defecto es el valor de tiempo ().
<?php
echo date("F j, Y");
?>
resultado: 30 de marzo de 2010
Paso 2
Para la fecha "ayer" use la función php mktime (): La función mktime () devuelve la marca de tiempo de Unix correspondiente a los argumentos dados. Esta marca de tiempo es un entero largo que contiene el número de segundos entre la época de Unix (1 de enero de 1970 a las 00:00:00 GMT) y la hora especificada. Los argumentos pueden omitirse en orden de derecha a izquierda; cualquier argumento así omitido se establecerá en el valor actual de acuerdo con la fecha y hora locales.
<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>
resultado: 1269820800
Paso 3
Ahora fusiona todo y mira esto:
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
resultado: 29 de marzo de 2010
Operando de manera similar, es posible recibir una hora de regreso.
<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>
resultado: 20:00:00
o hace 7 días:
<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>
resultado: 2010-03-23
prueba esto
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
Fecha de ayer en PHP:
echo date("Y-m-d", strtotime("yesterday"));
Si define la zona horaria en su aplicación PHP (como debería), puede hacerlo de esta manera:
date_default_timezone_set('Europe/Paris');
Entonces es tan simple como:
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(Es posible que desee definir una constante o variable de entorno para almacenar su zona horaria predeterminada).
prueba esto
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
También puede hacer esto usando la biblioteca Carbon :
Carbon::yesterday()->format('d.m.Y'); // '26.03.2019'
En otros formatos:
Carbon::yesterday()->toDateString(); // '2019-03-26'
Carbon::yesterday()->toDateTimeString(); // '2019-03-26 00:00:00'
Carbon::yesterday()->toFormattedDateString(); // 'Mar 26, 2019'
Carbon::yesterday()->toDayDateTimeString(); // 'Tue, Mar 26, 2019 12:00 AM'