[fpc-pascal] Date conversion question
Graeme Geldenhuys
graemeg.lists at gmail.com
Fri Jun 6 11:07:07 CEST 2008
I would say the easiest would be to extract the different parts: Year,
Month, Day, Hour, Min, Sec and then use EncodeDateTime() to return a
TDateTime type.
I have implemented (with unit tests) the last format (ISO 8601) in the
tiOPF project. I use that for storing my dates in a database. See the
tiUtils.pas unit in the tiOPF project on SF.net:
http://tinyurl.com/69a5nf
See the following functions:
tiDateTimeAsIntlDateStor
tiDateTimeAsIntlDateDisp
tiIntlDateStorAsDateTime
tiIntlDateDispAsDateTime
Hope this helps...
Regard,
- Graeme -
2008/6/6 esby at free.Fr <esby at free.fr>:
> Hello,
> I have a little project in which I need to convert various string encoded in
> various date format to TDateTime.
> For the same date, I'll have:
>
> '2008-05-10 21:49:21'
> '2008:05:10 21:49:21'
> '2008-05-10T19:49:21Z'
>
> I am no expert with date manipulation so I am asking:
>
> For the first type of string;
> DateSeparator:= '-';
> ShortDateFormat:= 'yyyy:MM:dd';
> StrToDateTime(str_date); //gets converted.
>
> For the second type of string;
> ShortDateFormat:= 'yyyy:MM:dd';
> DateSeparator:= ':';
> StrToDateTime(str_date); // will trigger an exception
> Is that intented or normal? Is there a method available except replacing the
> ':' by '-' in the date part?
>
> For the third type of string;
> Should I convert the third string and remove the T and Z chars or are there
> any others methods available?
>
> Thanks in advance.
>
_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/
More information about the fpc-pascal
mailing list