Camaradas,
FormatDateTime é um procedimento que retorna uma string de acordo com o formato passado como 1º parametro usando o 2º parametro que é a data.
| Delphi | | copy code | | ? |
| 1 | |
| 2 | // SysUtils.pas [Delphi 7]: |
| 3 | function FormatDateTime(const Format: string; DateTime: TDateTime): string; |
| 4 | begin |
| 5 | DateTimeToString(Result, Format, DateTime); |
| 6 | end; |
Exemplo:
| Delphi | | copy code | | ? |
| 1 | |
| 2 | begin |
| 3 | ShowMessage(FormatDateTime('dd/mm/yyyy', (Now + 1))); |
| 4 | end; |
| 5 |
Resultará em uma mensagem contendo:
‘19/05/2008′
Uma das grandes facilidade que ele traz é durante a interação com um banco de dados:
Exemplo para o mySQL:
| Delphi | | copy code | | ? |
| 01 | |
| 02 | begin |
| 03 | MyQuery.SQL.Text := Format( |
| 04 | 'SELECT * FROM `log` WHERE `date` BETWEEN ''%s'' AND ''%s''', |
| 05 | [ |
| 06 | // Data inicial |
| 07 | FormatDateTime('yyyy-mm-dd', (Now)), |
| 08 | // Data final |
| 09 | FormatDateTime('yyyy-mm-dd', (Now + 1)) |
| 10 | ]); |
| 11 | end; |
| 12 |
Sintaxes para formatação:
| Sintax | Finalidade | Resultado |
|---|---|---|
| c | 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 |
| d | Resulta no valor número que representa o Dia do mês ( sem 0 na frente ) | 2 |
| dd | Resulta no valor número que representa o Dia do mês ( com 0 na frente [00] ) | 02 |
| ddd | Resulta na abraviação do nome do dia da semana | ter |
| dddd | Resulta no nome do dia da semana | terça-feira |
| ddddd | Resulta na data formatada usando ShortDateFormat | 02/09/2008 |
| dddddd | Resulta na data formatada usando LongDateFormat | terça-feira, 2 de setembro de 2008 |
| m | Resulta no valor número que representa o mês ( sem 0 na frente ) | 9 |
| mm | Resulta no valor número que representa o mês ( com 0 na frente [00] ) | 09 |
| mmm | Resulta na abreviação do nome do mês | set |
| mmm | Resulta no nome do mês | setembro |
| y | Resulta no ano em dois digitos | 08 |
| yyyy | Resulta no ano em quatro digitos | 2008 |
| h | Resulta nas horas ( sem 0 na frente ) | 7 |
| hh | Resulta nas horas ( com 0 na frente [00] ) | 07 |
| n | Resulta nos minutos ( sem 0 na frente ) | 4 |
| nn | Resulta nos minutos ( com 0 na frente [00] ) | 04 |
| s | Resulta nos segundos ( sem 0 na frente ) | 1 |
| ss | Resulta nos segundos ( com 0 na frente [00] ) | 01 |
| z | Resulta nos milisegundos ( sem 0 na frente ) | 31 |
| zzz | Resulta nos milisegundos ( com 0 na frente [000] ) | 031 |
| t | Resulta na hora formatada usando ShortTimeFormat | 07:04 |
| tt | Resulta na hora formatada usando LongTimeFormat | 07:04:01 |
| am/pm | Reajusta a hora resultada para horários de 12 horas (manha e tarde) | 07:04 am |
Abraço a todos
Tags: Delphi, FormatDateTime, mySQL, string

Excelente explicação.
Grande Abraço