Neste tutorial, nós olhamos as perguntas geralmente feitas a respeito da função da data em PHP.
|
|
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.
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.
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.
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.
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 #.
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.
Online: 485 users browsing the articles directory
|
|