Potete usare semplicemente la stessa funzione che aggiunge la differenza di ore fra il EST ed il UTC
Diciamo che il EST è UTC meno 5 allora che potreste usare qualcosa di simile
Usi
DateUtils;
{aggiungere un TDateTimePicker alla forma}
procedura TForm1.Button1Click (mittente: TObject);
varietà
ESTTime: TDateTime;
funzione ESTToSystemTime (EST: TDateTime): TDateTime;
varietà
TimeZoneInf: _TIME_ZONE_INFORMATION;
ESTTime, LocalTime: TSystemTime;
cominciare
EST: = IncHour (EST, -5);
se GetTimeZoneInformation (TimeZoneInf) <�> comincia
DatetimetoSystemTime (EST, ESTTime);
se SystemTimeToTzSpecificLocalTime (@TimeZoneInf, ESTTime, LocalTime) allora
cominciare
risultato: = SystemTimeToDateTime (LocalTime);
estremità
altrimenti
risultato: = EST;
estremità
altrimenti
risultato: = EST;
estremità;
cominciare
ESTTime: = ESTToSystemTime (DateTimePicker1.DateTime);
estremità;