gpt4 book ai didi

delphi - 有没有跨平台的方法将本地时间转换为UTC?

转载 作者:行者123 更新时间:2023-12-02 11:11:49 24 4
gpt4 key购买 nike

如何在所有平台(Android/iOS/Mac/Windows)上将本地时间转换为 UTC?在 Windows 上我使用这个函数:

function AlLocalDateTimeToGMTDateTime(Const aLocalDateTime: TDateTime): TdateTime;

{--------------------------------------------}
function InternalCalcTimeZoneBias : TDateTime;
const Time_Zone_ID_DayLight = 2;
var TZI: TTimeZoneInformation;
TZIResult: Integer;
aBias : Integer;
begin
TZIResult := GetTimeZoneInformation(TZI);
if TZIResult = -1 then Result := 0
else begin
if TZIResult = Time_Zone_ID_DayLight then aBias := TZI.Bias + TZI.DayLightBias
else aBias := TZI.Bias + TZI.StandardBias;
Result := EncodeTime(Abs(aBias) div 60, Abs(aBias) mod 60, 0, 0);
if aBias < 0 then Result := -Result;
end;
end;

begin
Result := aLocalDateTime + InternalCalcTimeZoneBias;
end;

是否有我可以使用的跨平台等效工具?

最佳答案

调用TTimeZone.ToUniversalTime来自System.DateUtils单元。在相反的方向,您使用 TTimeZone.ToLocalTime 。您不仅可以丢弃现有代码,还可以用单个跨平台函数调用替换它。

熟悉这个单元是一个谨慎的举动。

关于delphi - 有没有跨平台的方法将本地时间转换为UTC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40619400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com