Aceita uma data do calendário. Os espaços são removidos da entrada antes da análise. Os formatos são testados pela ordem descrita abaixo.
Compacto (sem separadores)
| Comprimento | Formato | Exemplo (configuração regional com o dia primeiro) | Exemplo (configuração regional com o mês primeiro) |
|---|---|---|---|
| 4 dígitos | ddmm / mmdd |
2503 → 25 de março |
0325 → 25 de março |
| 8 dígitos | ddmmyyyy / mmddyyyy |
25032026 → 25 de março de 2026 |
03252026 → 25 de março de 2026 |
O formato compacto de 4 dígitos pressupõe o ano atual.
ISO (baseado em separadores, ano primeiro)
Qualquer um dos formatos aaaa/mm/dd,
aaaa-mm-dd ou aaaa.mm.dd. É reconhecido sempre
que os primeiros quatro caracteres forem dígitos seguidos de
/, - ou ..
2026-03-25 2026/03/25 2026.03.25
Recurso de fallback de localização
Quando nem o formato compacto nem o ISO correspondem, o
TryStrToDate é testado com base no formato de localização
do tempo de execução. Os separadores /, - e
. são todos aceites e normalizados para o
DateSeparator do tempo de execução antes da análise. Isto
abrange formatos como dd/mm/aaaa, mm/dd/aaaa e
formas de ano com dois dígitos, como 26/03/25.
A resolução do ano com dois dígitos segue
SysUtils.TwoDigitYearCenturyWindow (valor predefinido 50).
Um ano de dois dígitos é mapeado para o século que mantém o resultado
dentro dessa janela do ano atual. As aplicações que requerem um
comportamento determinístico devem definir
TwoDigitYearCenturyWindow explicitamente no arranque.
A data sensível à localização string produzida por
DateToStr.
O literal de data SQL depende do dialeto. Consulte dialetos SQL para obter a tabela completa de formatos.
2026-03-25 →
sqlElevateDB, sqlMySQL,
sqlPostgreSQL, sqlFirebird: DATE '2026-03-25'
sqlDBISAM, sqlMSSQLServer,
sqlSQLite: '2026-03-25'
sqlOracle: TO_DATE('2026-03-25','YYYY-MM-DD')
sqlAccess: #2026-03-25#
sqlBDEParadox: "25.03.2026"
Entrada: 01/01/2026~31/12/2026
→ otRange
→ BETWEEN DATE '2026-01-01' AND DATE '2026-12-31' (sqlElevateDB)
A data à esquerda não pode ser posterior à data à direita; caso
contrário, é devolvido ERR_INVALID_RANGE.