Fonte: www.activedelphi.com.br
FormatDateTime é uma função que retorna uma string de acordo com o formato passado como 1º parametro, tendo como base o 2º parametro que é a data. Veja nesta dica todos os detalhes e exemplos de uso desta função
Ela está presente na unit SysUtils (Delphi 7), com a seguinte implementação:
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
begin
DateTimeToString(Result, Format, DateTime);
end;
Segue um exemplo de uso, para ser colocado no evento onClick de um button, por exemplo:
begin
ShowMessage(FormatDateTime('dd/mm/yyyy', (Now + 1)));
end;
Se hoje for 17/12/2010, este código resultará em uma mensagem contendo:
‘18/12/2010'.
‘18/12/2010'.
Uma das grandes facilidade que a função nos traz é durante a interação com um banco de dados. Exemplo para o mySQL:
begin
MyQuery.SQL.Text := Format(
'SELECT * FROM `log` WHERE `date` BETWEEN ''%s'' AND ''%s''',
[
// Data inicial
FormatDateTime('yyyy-mm-dd', (Now)),
// Data final
FormatDateTime('yyyy-mm-dd', (Now + 1))
]);
end;
Veja agora a tabela com os formatos possíveis e seus respectivos resultados, considerando a data e hora "02/09/2008 07:04:01":
Sintaxe | Finalidade | Resultado |
FormatDateTime('c', Now) | Resulta na Data e hora com o formato ShortDateFormat + LongTimeFormat. (Se for exatamente meia-noite não irá mostrar a hora) | 02/09/2008 07:04:01 |
FormatDateTime('d', Now) | Resulta no valor número que representa o Dia do mês ( sem 0 na frente ) | 2 |
FormatDateTime('dd', Now) | Resulta no valor número que representa o Dia do mês ( com 0 na frente [00] ) | 02 |
FormatDateTime('ddd', Now) | Resulta na abraviação do nome do dia da semana | ter |
FormatDateTime('dddd', Now) | Resulta no nome do dia da semana | terça-feira |
FormatDateTime('ddddd', Now) | Resulta na data formatada usando ShortDateFormat | 02/09/2008 |
FormatDateTime('dddddd', Now) | Resulta na data formatada usando LongDateFormat | terça-feira, 2 de setembro de 2008 |
FormatDateTime('m', Now) | Resulta no valor número que representa o mês ( sem 0 na frente ) | 9 |
FormatDateTime('mm', Now) | Resulta no valor número que representa o mês ( com 0 na frente [00] ) | 09 |
FormatDateTime('mmm', Now) | Resulta na abreviação do nome do mês | set |
FormatDateTime('mmm', Now) | Resulta no nome do mês | setembro |
FormatDateTime('y', Now) | Resulta no ano em dois digitos | 08 |
FormatDateTime('yyyy', Now) | Resulta no ano em quatro digitos | 2008 |
FormatDateTime('h', Now) | Resulta nas horas ( sem 0 na frente ) | 7 |
FormatDateTime('hh', Now) | Resulta nas horas ( com 0 na frente [00] ) | 07 |
FormatDateTime('n', Now) | Resulta nos minutos ( sem 0 na frente ) | 4 |
FormatDateTime('nn', Now) | Resulta nos minutos ( com 0 na frente [00] ) | 04 |
FormatDateTime('s', Now) | Resulta nos segundos ( sem 0 na frente ) | 1 |
FormatDateTime('ss', Now) | Resulta nos segundos ( com 0 na frente [00] ) | 01 |
FormatDateTime('z', Now) | Resulta nos milisegundos ( sem 0 na frente ) | 31 |
FormatDateTime('zzz', Now) | Resulta nos milisegundos ( com 0 na frente [000] ) | 031 |
FormatDateTime('t', Now) | Resulta na hora formatada usando ShortTimeFormat | 07:04 |
FormatDateTime('tt', Now) | Resulta na hora formatada usando LongTimeFormat | 07:04:01 |
FormatDateTime('am/pm', Now) | Reajusta a hora resultada para horários de 12 horas (manha e tarde) |
Nenhum comentário:
Postar um comentário