我正在使用Delphi进行编程并使用API来返回表示约会时间段的XSDateTime。当我尝试创建本地数据时,时间将转换为我的EST时区(Z-05:00或Z-04:00,具体取决于DST)。我需要时间留在CST的原始时区(Z-06:00)。我目前正在格式化时间如下:
aApptListing := FormatDateTime('yyyy/mm/dd t', aSlots[i].StartDateTime.AsDateTime);
其中StartDateTime作为CST中的时间(Z-06:00)。我怎样才能保留CST的原始时间?例如,如果日期/时间通过API发布为'2011-12-25T08:00:00-06:00'我想在2011年12月25日上午8:00,而不是上午9:00显示是EST。
答案 0 :(得分:1)
看起来以下情况应该有效:
with aSlots[i].StartDateTime do
aApptListing := FormatDateTime('yyyy/mm/dd t', EncodeDateTime(Year, Month, Day, Hour, Minute, Second, 0));