[fpc-pascal] Timezone information in a dataset datetime field?- updated
Reinier Olislagers
reinierolislagers at gmail.com
Mon Jul 25 11:21:54 CEST 2011
On 25-7-2011 10:50, Ludo Brands wrote:
>>> 1. Is there any way of knowing what kind of timezone a
>> datetime value
>>> should be in a FPC dataset? (I suppose not...)
>>
>> No, there is no way. It's always supposed to be 'local time'.
>>
>
> That is also what most of the underlying databases do. They store everything
> in UTC and convert to local time. Only for those that support "timezoned"
> field types (fe. oracle timestamp_TZ) you can specify a timezone when
> entering data. MySQL fe. doesn't have support for this.
>
> Ludo
>
Mmmm. For example, IIRC, Firebird just stores it as entered - no UTC
conversion.
Sensible developers on multi country Firebird db projects would probably
store convert date/time info to UTC in the database.
How about this choice:
TDateTimeStorageFormat = (UTC, Local {, StoredInDatabase});
//Treat date/time fields in datasets as stored in local time or UTC.
Defaults to local time.
{ TODO 7 -oAnyone -cNice to have : If we can support databases that
store timezone info with date/time, e.g. Oracle, add an option
StoredInDatabase }
....
TXMLXSDFormatSettings = class(TExportFormatSettings)
....
property DateTimeStorageFormat: TDateTimeStorageFormat
read FDateTimeStorageFormat write FDateTimeStorageFormat;
More information about the fpc-pascal
mailing list