2011-12-19 4 views
0

저는 Delphi에서 프로그래밍 중이며 약속 시간대를 나타내는 XSDateTime을 반환하는 API를 사용합니다. 로컬 데이터 시간을 만들려고 할 때 시간이 EST 표준 시간대 (DST에 따라 Z-05 : 00 또는 Z-04 : 00)로 변환됩니다. 중부 표준시 (Z-06 : 00)의 원래 표준 시간대를 유지할 시간이 필요합니다.Delphi : 시간을 현지 시간대로 변환하지 않고 XSDateTime 사용

aApptListing := FormatDateTime('yyyy/mm/dd t', aSlots[i].StartDateTime.AsDateTime); 

을 StartDateTime는 CST의 시간 (Z-06 : 00)로 오는 경우 다음과 같이 저는 현재 시간이 서식하고있다. 중부 표준시의 원래 시간은 어떻게 유지합니까? 예를 들어, 날짜/시간이 '2011-12-25T08 : 00 : 00-06 : 00'으로 API를 통해 제공되는 경우 오전 9 시가 아니라 12시 25 분 @ 오전 8시를 표시하려고합니다. EST가되어야합니다.

답변

1

다음과 같은 일을해야 다음과 같습니다

with aSlots[i].StartDateTime do 
    aApptListing := FormatDateTime('yyyy/mm/dd t', EncodeDateTime(Year, Month, Day, Hour, Minute, Second, 0)); 
관련 문제