Hi all, I'm busy with writing an XML export unit targeting Microsoft Access/.Net framework (ADO.NET data access framework in particular).
Runing an ADO.NET demo program I found out that the ADO.NET variant requires timezone info in its date/time fields. In a sample export I did, it is set to my timezone (UTC+2 at this moment). 1. Is there any way of knowing what kind of timezone a datetime value should be in a FPC dataset? (I suppose not...) 2. If not, I think I'm going to just use the current timezone. Is there any cross-platform way of doing this? In the docs, I just found GetLocalTimezone/TZSeconds in e.g. the linux unit... I could of course use the Windows API to get something similar on Windows, but what about OSX, or BSD or Solaris... I found some code thread How to get UTC time from 2007: would that still be the best solution? 2a: Unix: {$mode Delphi} uses unix,sysutils,baseunix; function utc_now : TDateTime; var timeval: TTimeVal; timezone: PTimeZone; a: Double; begin TimeZone := nil; fpGetTimeOfDay (@TimeVal, TimeZone); // Convert to milliseconds a := (TimeVal.tv_sec * 1000.0) + (TimeVal.tv_usec / 1000.0); Result := (a / MSecsPerDay) + UnixDateDelta; end; 2b: Windows: {$ifdef MSWINDOWS} { This uses SysUtils and Windows. } function emt_now: TDateTime; var st: TSystemTime; begin GetSystemTime (st); Result := SystemTimeToDateTime (st); end; {$endif} Thanks, Reinier _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal