Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DateTimeToUnix Delphi 5?_Delphi_Datetime_Delphi 5 - Fatal编程技术网

DateTimeToUnix Delphi 5?

DateTimeToUnix Delphi 5?,delphi,datetime,delphi-5,Delphi,Datetime,Delphi 5,我试图在Delphi5中使用DateTimeToUnix函数。DateTimeToUnix使用DateUtils,根据web上的一些信息,DateUtils直到Delphi6才被引入;按照这个逻辑,我确定Delphi5不支持这个函数 然而,在stackoverflow上提出了类似的问题,并标记为重复;在回答中没有提到Delphi 5 原始问题: 我相信在以下网站上找到的代码回答了我和原来的问题: 托马斯·格雷纳是原始代码的作者。以上代码已从其原始版本修改。它已被格式化以适合屏幕 在Delphi

我试图在Delphi5中使用DateTimeToUnix函数。DateTimeToUnix使用DateUtils,根据web上的一些信息,DateUtils直到Delphi6才被引入;按照这个逻辑,我确定Delphi5不支持这个函数

然而,在stackoverflow上提出了类似的问题,并标记为重复;在回答中没有提到Delphi 5

原始问题:

我相信在以下网站上找到的代码回答了我和原来的问题:

托马斯·格雷纳是原始代码的作者。以上代码已从其原始版本修改。它已被格式化以适合屏幕

在Delphi 5中使用上述代码的步骤:

文件>新建…>新选项卡>单位>确定 用上述代码替换新单元的全部内容 将新单元unix\u utils保存在C:\Program Files\Borland\Delphi5\Lib之类的位置\ 如果需要DateTimeToUnix:项目>添加到项目…>浏览到unix_utils>然后单击打开 我相信如果unix_utils文件保存在上述位置,它就可以添加到单元的Uses部分???
那么这是重复的吗

您必须将.pas文件添加到每个需要它的项目中,或者将.pas文件编译成.dcu并将其放置在IDE库路径上的文件夹中。无论哪种方式,您都可以在uses子句中使用该单位。谢谢雷米。dcu可以。不要将其保存在Delphi5\Lib下。只需将该单元添加到任何需要它的项目中。或者,将其放在共享位置,并将该位置添加到搜索路径中。但无论你做什么,都不要修改Delphi的lib文件夹。你问的问题还不清楚。这项任务非常简单——根据自1899年12月31日以来的天数,计算自1970年1月1日以来的秒数。但你必须记住TDateTime是什么地方,时代是UTC。是的,我会认为这是一个复制品。我建议您不要在问题中提供答案,而是转到较旧的问题并在那里添加您的Delphi 5答案。
unit Unix_Utils;

interface

Uses SysUtils;

function DateTimeToUnix(ConvDate: TDateTime): Longint;
function UnixToDateTime(USec: Longint): TDateTime;

implementation

const UnixStartDate: TDateTime = 25569.0; // Sets UnixStartDate to TDateTime of 01/01/1970

    function DateTimeToUnix(ConvDate: TDateTime): Longint;
    begin
        //example: DateTimeToUnix(now);
        Result := Round((ConvDate - UnixStartDate) * 86400);
    end;

    function UnixToDateTime(USec: Longint): TDateTime;
    begin
        //Example: UnixToDateTime(1003187418);
        Result := (Usec / 86400) + UnixStartDate;
    end;

end.