Delphi:使用XSDateTime而不将时间转换为本地时区

时间:2011-12-19 15:22:39

标签: delphi utc datetime-format

我正在使用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。

1 个答案:

答案 0 :(得分:1)

看起来以下情况应该有效:

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