Você tem uma sequência, como entrada do usuário, que você precisa para converter em um objeto data / tempo.

Problema:

Você tem uma sequência, como entrada do usuário, que você precisa para converter em um objeto data / tempo.

Solução:

A função ParseDateTime(), e sua irmã de específica localodade LSParseDateTime(), podem ser usadas para converter um objeto data/tempo arbitrário em uma string. Além disso,ParseDateTime(), mas não LSParseDatetime(), pode ser usada para converter a data/hora fornecida em hora local GMT (Greenwich Mean Time).

Explicação detalhada:

Como desenvolvedores, nós não temos sempre a chance de escolher qual datas e horas chegam em nossas aplicações. Isto é especialmente válido para aplicativos Web que involvem entrada pelo usuário. Se voce tiver um formulário que permita um usuário entrar livremente a data/hora, há chances que não todas aquelas datas virão na mesma forma (a não ser talvez que voce use JavaScript para validar a entrada ou redesenhar seu formulário para aceitar a data e hora como valores de campos individuais para cada parte da data/hora. Em qualquer caso, haverá situações onde será desejável converter uma data/hora formatada arbitrariamente em um objeto data/hora. Quando isto se fizer necessário, voce pode conseguir isso usando a funçãoParseDateTime().

<cfoutput>
#parseDateTime("12/31/2002")#<br>
#parseDateTime("12/31/2002 23:59:59", "Standard")#
</cfoutput>

Resulta em:

{ts '2002-12-31 00:00:00'}
{ts '2002-12-31 23:59:59'}
[code]

A função ParseDateTime() aceita um parâmetro opcional que permite voce especificar se a data fornecida está no formato  "Standard" (default) ou "POP".
O formato POP é para o uso de valores data/hora associados com mensagens de email geradas via SMTP. Se POP fôr especificado, a string data/hora será automaticamente convertida para horário GMT usando o locale English (US). Nenhuma conversão será feita se o tipo fôr Standard:
[code lang='coldfusion']
<cfoutput>
#parseDateTime("Tue, 31 Dec 2002 23:59:29 +0400 (EDT)","POP")#<br>
#parseDateTime("Tue, 31 Dec 2002 23:59:29 -0400", "POP")#
</cfoutput>

Resulta em:

{ts '2002-12-31 19:59:29'}
{ts '2003-01-01 03:59:29'}

LSParseDateTime() pode ser usada para passar strings de dtas com locale específico da mesma forma como a função ParseDateTime() exceto que não há parâmetro adicional para o manuzeio de datas POP.

by Rob Brooks-Bilson
Versão em inglês: Adobe ColdFusion Cookbooks


Leave a comment