Data e hora de PHP

Neste tutorial, nós olhamos as perguntas geralmente feitas a respeito da função da data em PHP.

Como eu leio a data ou a hora do usuário?

  

Para ler a data ou a hora do usuário, você necessita usar a função da data de PHP. Você passa à função da data uma corda, com o símbolo especial no lugar dos parâmetros que da data você requer. Quando o código é funcionado, o símbolo estará substituído com a seção da data ou da hora que representam. Para o exemplo:

< eco date("d/m/Y do?php"); ? > saídas 
11/02/2003 < date("dS F do eco do?php,");?> de Y saídas 11o 
fevereiro, 2003 < eco date("g:i do?php"); ? > saídas 9:10
eco date("H:i:s do pm < do?php"); ? > saídas 21:10:48 < 
date("l do eco do?php, dS F, Y"); ? > saídas 
segunda-feira, 21o janeiro, 2003  

Observe que você pode pôr seus próprios caráteres na corda que você passa à data, que pode agir como separadores para os dados, como: ou/. que usa o símbolo, você constrói acima de uma data ou de uma hora em todo o formato que você escolher. É leitura de valor a página manual para a função da data no manual de PHP em linha em http://www.php.net/manual/en/function.date.php.

Como eu convirto uma data a e do formato de MySQL?

Uma outra pergunta comum é como trabalhar com datas e MySQL, porque MySQL usa seu próprio formato de data: yyyy-milímetro-yyyy-mm-dd. Isto significa que se você quiser indicar a data, você necessita mudar o formato a um mais normal, tal como o formato de data de ESTADOS UNIDOS: mm/dd/yyyy.

A maneira a mais fácil converter a data deve usar o PHP explode a função. A função explodir faz exame de uma corda e racha-a por um separador comum em uma disposição. Isto é muito útil para transformar datas, porque as datas têm um separador comum e assim que são fáceis de rachar nas peças separadas, que podem então ser rearranjadas em seu formato desejado.

Anote que você pode também formatar a data em sua pergunta do SQL usando o comando de MySQL DATE_FORMAT, embora este faça suas perguntas do SQL mais longas. Os detalhes cheios estão disponíveis na seguinte página do manual em linha de MySQL: http://www.mysql.com/doc/en/Date_and_time_functions.html.

Como eu convirto uma data do formato de ESTADOS UNIDOS a MySQL?

Para converter uma data do formato de ESTADOS UNIDOS ao formato de MySQL, você pode usar a seguinte função:

< função date2mysql($date){do?php $splitArray = 
explode("/", $date); $newDate = # ]. 
"-". # ]. "-". # 
]; retorno #; }? >  

Esta função faz exame de uma data no formato de ESTADOS UNIDOS e converte-a ao formato de MySQL. Para chamar esta função, você passagem justa ele a data no formato de ESTADOS UNIDOS, como segue:

< eco date2mysql("02/20/2003 do?php"); ? >  

Isto output o seguinte:

2003-02-20  

Isto pode então ser entrado em um campo da data de MySQL. Anote isso para cater para outros formatos de data, você pode apenas rearranjar as peças da data em uma ordem diferente.

Como eu convirto uma data do formato de MySQL ao formato de ESTADOS UNIDOS?

Para converter uma data do formato de MySQL ao formato de data de ESTADOS UNIDOS, você pode usar a seguinte função:

< função mysql2date($date){do?php $splitArray = 
explode("-", $date); $newDate = # ]. 
"/". # ]. "/". # 
]; retorno #; }? >  

Para usar esta função, você chama-a passando a data no formato de MySQL como segue:

< eco mysql2date("2003-02-20 do?php"); ? >  

Isto output o seguinte:

02/20/2003  

Para usar a função com um valor de um recordset, use simplesmente o campo do recordset como o parâmetro para a função, para o exemplo:

< eco mysql2date($row_Recordset1['date do?php ' ]);? >  

Isto converteria um campo da base de dados nomeado data no recordset nomeado Recordset1 do formato de MySQL ao formato de data de ESTADOS UNIDOS.

Como eu encontro o comprimento de tempo entre duas datas?

A fim encontrar o comprimento de tempo entre duas datas, você necessita converter ambas as datas a um formato comum, e então você pode fazer exame de uma data ausente da outra. O formato que comum você se usa é o número dos segundos desde a data do epoch de Linux, que é 1/1/1970de converso do To um a data ao formato comum, você usa a função do mktime de PHP, que faz exame dos seguintes parâmetros e retorna o número dos segundos desde 1/1/1970:

mktime(hour, minuto, segundo, mês, dia, ano);  

Você usa a função do mktime converter a data do começo e a data da extremidade em segundos, faz exame da data do começo away da data da extremidade, e divide-se então pelo número dos segundos em um dia. Você pode fazer este com o seguinte código:

<?php $startDate = "02/20/2003"; $endDate = 
"02/28/2003"; $splitStart = explode("/", $startDate); 
"de $splitEnd = de explode(/", #); 
$start = 
mktime(0,0,0,$splitStart[0],$splitStart[1],$splitStart[2 ]); 
$end = mktime(0,0,0,$splitEnd[0],$splitEnd[1 ], # 
]); $secondsInDay = 60 * 60 * 24; 
$days = abs($end-$start)/$secondsInDay; eco 
#; ? >  

Quando o código precedente é funcionado, indicará 8, que é o número dos dias entre $startDate e #.

Como eu encontro uma data, um x Days/Months/Years no passado ou um futuro?

Para encontrar datas no passado ou futuro, você pode usar uma combinação das funções do mktime e da data, que permite que você fàcilmente adicione ou subtraia dias, meses, ou anos de to/from a data atual, como segue:

<?php $tomorrow = mktime (0,0,0,date("m"), date("d")+1, 
date("Y")); $lastmonth = mktime (0,0,0,date("m")-1,date("d"), 
date("Y")); $nextyear = mktime (0,0,0,date("m"), date("d"), 
date("Y")+1); eco date("m/d/Y", #). "< 
Br >"; eco date("m/d/Y", #). "< Br >"; 
eco date("m/d/Y", #). "< Br >"; ? 
>  

Toda a data pode ser encontrada simplesmente adicionando ou subtraindo o período desejado to/from um das peças da data, como mostrado no código precedente do exemplo.

este é um artigo adicionado por Stratus Huo Quan


Disclaimer: Nosso Web site não é responsável para a informação contida por este artigo. Este artigo em nenhuma maneira reflete as vistas, as opiniões, os pensamentos ou a opinião da equipe de funcionários do diretório dos artigos.

Observação da tradução: O artigo de "data e hora PHP" foi traduzido usando um serviço de tradução automatizado. Nós desculpamo-nos sincerely por todos os erros da tradução que ocorram. Obrigado compreendendo.

Online: 485 users browsing the articles directory