Um pequeno detalhe: sua função terá problemas perto da meia-noite se esse horário ultrapassar a mudança de horário de verão. Ir explicitamente ao longo do meio-dia ajuda nisso.
Deduplicator
1
Errado . 3 coisas sobre o horário de verão: 1 depende do horário do servidor, se o servidor tiver o fuso horário correto, isso não afetará meu funcionamento. 2 nem todo o mundo é afetado pelo horário de verão, há lugares que não o usam. 3 a maioria dos lugares costuma mudar de horário durante as primeiras horas do dia (como 2 ou 3 horas), portanto, não afetará a mudança do dia.
Fabio
1
1. Então essa função sabe e cuida que um dia pode ser diferente de 24h? 2. Mesmo um relógio quebrado está certo duas vezes ao dia. 3. A hora exata que é roubada / duplicada não é tão importante para o cálculo.
Deduplicator
1
não faz sentido 1 um dia não é diferente de 24 até que o horário de verão mude a hora e o servidor mude a hora de acordo com 2 claro que é, mas esse não é o ponto 3 isso é muito importante, sua ideia pode estar certa se a hora mudar à meia-noite, não em outras horas
Não garantido com o horário de verão ... as pessoas realmente deveriam usar objetos DateTime atualmente
Mark Baker
Funcionará bem se estiver operando no horário UTC. date_default_timezone_set ('UTC');
Patrick
7
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.
Respostas:
ai está
isso funcionará também se o mês mudar
fonte
você pode fazer isso por
ou pela
fonte
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 ().
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.
resultado: 1269820800
etapa 3
Agora junte tudo e veja isto:
resultado: 29 de março de 2010
Operando de forma semelhante, é possível receber a hora de volta.
resultado: 20:00:00
ou 7 dias atrás:
resultado: 23/03/2010
fonte
tente isso
fonte
Data de ontem em PHP:
fonte
tente isso
fonte
Se você definir o fuso horário em seu aplicativo PHP (como deveria), pode fazer desta forma:
Então é tão simples como:
(Você pode definir uma constante ou variável de ambiente para armazenar seu fuso horário padrão.)
fonte
Outro método OOP para DateTime com configuração da hora exata:
fonte
Você também pode fazer isso usando a biblioteca Carbon :
Em outros formatos:
fonte