PHP - Data e Hora

As datas são tão parte da vida cotidiana que se torna fácil trabalhar com elas sem pensar. O PHP também fornece ferramentas poderosas para aritmética de datas que tornam a manipulação de datas fácil.

Obtendo o carimbo de hora com hora ()

PHP's time()A função fornece todas as informações de que você precisa sobre a data e a hora atuais. Não requer argumentos, mas retorna um inteiro.

O número inteiro retornado por time () representa o número de segundos decorridos desde a meia-noite GMT em 1º de janeiro de 1970. Esse momento é conhecido como época do UNIX e o número de segundos decorridos desde então é conhecido como carimbo de hora.

<?php
   print time();
?>

Isso produzirá o seguinte resultado -

1480930103

Isso é algo difícil de entender. Mas o PHP oferece ferramentas excelentes para converter um registro de data e hora em uma forma com a qual os humanos se sintam confortáveis.

Convertendo um carimbo de data / hora com getdate ()

A função getdate()opcionalmente, aceita um carimbo de data / hora e retorna uma matriz associativa contendo informações sobre a data. Se você omitir o carimbo de hora, ele funcionará com o carimbo de hora atual conforme retornado por time ().

A tabela a seguir lista os elementos contidos na matriz retornada por getdate ().

Sr. Não Chave e descrição Exemplo
1

seconds

Segundos depois dos minutos (0-59)

20
2

minutes

Minutos após a hora (0 - 59)

29
3

hours

Horas do dia (0 - 23)

22
4

mday

Dia do mês (1 - 31)

11
5

wday

Dia da semana (0 - 6)

4
6

mon

Mês do ano (1 - 12)

7
7

year

Ano (4 dígitos)

1997
8

yday

Dia do ano (0 - 365)

19
9

weekday

Dia da semana

Quinta feira
10

month

Mês do ano

janeiro
11

0

Timestamp

948370048

Agora você tem controle total sobre a data e a hora. Você pode formatar essa data e hora em qualquer formato que desejar.

Exemplo

Experimente o seguinte exemplo

<?php
   $date_array = getdate();
   
   foreach ( $date_array as $key => $val ){
      print "$key = $val<br />";
   }
	
   $formated_date  = "Today's date: ";
   $formated_date .= $date_array['mday'] . "/";
   $formated_date .= $date_array['mon'] . "/";
   $formated_date .= $date_array['year'];
   
   print $formated_date;
?>

Isso produzirá o seguinte resultado -

seconds = 10
minutes = 29
hours = 9
mday = 5
wday = 1
mon = 12
year = 2016
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2016

Convertendo um carimbo de hora com data ()

o date()função retorna uma string formatada que representa uma data. Você pode exercer um enorme controle sobre o formato que date () retorna com um argumento de string que você deve passar para ele.

date(format,timestamp)

A data () aceita opcionalmente um carimbo de hora. Se omitido, a data e a hora atuais serão usadas. Quaisquer outros dados que você incluir na string de formato passada para date () serão incluídos no valor de retorno.

A tabela a seguir lista os códigos que uma string de formato pode conter -

Sr. Não Formato e descrição Exemplo
1

a

'am' ou 'pm' em minúsculas

PM
2

A

'AM' ou 'PM' maiúsculas

PM
3

d

Dia do mês, um número com zeros à esquerda

20
4

D

Dia da semana (três letras)

qui
5

F

Nome do mês

janeiro
6

h

Hora (formato de 12 horas - zeros à esquerda)

12
7

H

Hora (formato de 24 horas - zeros à esquerda)

22
8

g

Hora (formato de 12 horas - sem zeros à esquerda)

12
9

G

Hora (formato de 24 horas - sem zeros à esquerda)

22
10

i

Minutos (0 - 59)

23
11

j

Dia do mês (sem zeros à esquerda

20
12

l (Lower 'L')

Dia da semana

Quinta feira
13

L

Ano bissexto ('1' para sim, '0' para não)

1
14

m

Mês do ano (número - zeros à esquerda)

1
15

M

Mês do ano (três letras)

Jan
16

r

A data formatada RFC 2822

Qui, 21 de dezembro de 2000 16:01:07 +0200
17

n

Mês do ano (número - sem zeros à esquerda)

2
18

s

Segundos de hora

20
19

U

Carimbo de tempo

948372444
20

y

Ano (dois dígitos)

06
21

Y

Ano (quatro dígitos)

2006
22

z

Dia do ano (0 - 365)

206
23

Z

Compensação em segundos do GMT

+5

Exemplo

Experimente o seguinte exemplo

<?php
   print date("m/d/y G.i:s<br>", time());
   echo "<br>";
   print "Today is ";
   print date("j of F Y, \a\\t g.i a", time());
?>

Isso produzirá o seguinte resultado -

12/05/16 9:29:47
Today is 5 2016f December 2016 at 9:29 am

Espero que você tenha um bom entendimento sobre como formatar data e hora de acordo com suas necessidades. Para sua referência, uma lista completa de todas as funções de data e hora é fornecida em PHP Date & Time Functions.