Eu quero obter a data de ontem usando o formato de data específico em php, este é o formato:
$today = date("d.m.Y"); //15.04.2013
É possível?
Leve em consideração o mês e os anos se eles devem ser alterados nos respectivos.
Eu quero obter a data de ontem usando o formato de data específico em php, este é o formato:
$today = date("d.m.Y"); //15.04.2013
É possível?
Leve em consideração o mês e os anos se eles devem ser alterados nos respectivos.
Respostas:
ai está
date('d.m.Y',strtotime("-1 days"));
isso funcionará também se o mês mudar
você pode fazer isso por
date("F j, Y", time() - 60 * 60 * 24);
ou pela
date("F j, Y", strtotime("yesterday"));
Passo 1
Precisamos definir os dados de formato na função date (): A função date () retorna uma string formatada de acordo com a string de formato fornecida usando o timestamp inteiro fornecido ou a hora atual se nenhum timestamp for fornecido. Em outras palavras, timestampé opcional e o padrão é o valor de time ().
<?php
echo date("F j, Y");
?>
resultado: 30 de março de 2010
Passo 2
Para a data "ontem", use a função php mktime (): A função mktime () retorna o carimbo de data / hora Unix correspondente aos argumentos fornecidos. Este carimbo de data / hora é um número inteiro longo contendo o número de segundos entre a Época Unix (1 de janeiro de 1970 00:00:00 GMT) e a hora especificada. Os argumentos podem ser deixados de fora da direita para a esquerda; qualquer argumento omitido será definido com o valor atual de acordo com a data e hora locais.
<?php
echo mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
?>
resultado: 1269820800
etapa 3
Agora junte tudo e veja isto:
<?php
$yesterday = date("Y-m-d", mktime(0, 0, 0, date("m") , date("d")-1,date("Y")));
echo $yesterday;
?>
resultado: 29 de março de 2010
Operando de forma semelhante, é possível receber a hora de volta.
<?php
$yesterday = date("H:i:s",mktime(date("H"), 0, 0, date("m"),date("d"), date("Y")));
echo $yesterday;
?>
resultado: 20:00:00
ou 7 dias atrás:
<?php
$week = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-7,date("Y")));
echo $week;
?>
resultado: 23/03/2010
tente isso
$tz = new DateTimeZone('Your Time Zone');
$date = new DateTime($today,$tz);
$interval = new DateInterval('P1D');
$date->sub($interval);
echo $date->format('d.m.y');
?>
Data de ontem em PHP:
echo date("Y-m-d", strtotime("yesterday"));
tente isso
<?php
$yesterday = date(“d.m.Y”, time()-86400);
echo $yesterday;
Se você definir o fuso horário em seu aplicativo PHP (como deveria), pode fazer desta forma:
date_default_timezone_set('Europe/Paris');
Então é tão simples como:
$yesterday = new DateTime('yesterday'); // will use our default timezone, Paris
echo $yesterday->format('Y-m-d'); // or whatever format you want
(Você pode definir uma constante ou variável de ambiente para armazenar seu fuso horário padrão.)
Você também pode fazer isso usando a biblioteca Carbon :
Carbon::yesterday()->format('d.m.Y'); // '26.03.2019'
Em outros 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'