2011-12-19 11 views
0

私はDelphiでプログラミングしており、予定タイムスロットを表すXSDateTimeを返すAPIを使用しています。ローカルのデータを作成しようとすると、時刻が私のESTタイムゾーン(DSTに応じてZ-05:00またはZ-04:00)に変換されます。私はCST(Z-06:00)の元のタイムゾーンにとどまる時間が必要です。次のように私は現在、時間をフォーマットしています:Delphi:時間をローカルタイムゾーンに変換せずにXSDateTimeを使用する

StartDateTimeはCST(Z-06:00)の時間として入って来
aApptListing := FormatDateTime('yyyy/mm/dd t', aSlots[i].StartDateTime.AsDateTime); 

。どのようにしてCSTの元の時間を維持できますか?たとえば、日付/時刻が「2011-12-25T08:00:00-06:00」としてAPIに含まれている場合、午前9時ではなく、午前8時25分に午前8時に表示したいESTです。

答えて

1

それは次のように動作するはずのようになります。

with aSlots[i].StartDateTime do 
    aApptListing := FormatDateTime('yyyy/mm/dd t', EncodeDateTime(Year, Month, Day, Hour, Minute, Second, 0)); 
関連する問題