Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.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
Date 在Delphi中重新计算24小时或日期变化_Date_Delphi_Time - Fatal编程技术网

Date 在Delphi中重新计算24小时或日期变化

Date 在Delphi中重新计算24小时或日期变化,date,delphi,time,Date,Delphi,Time,在我的Delphi Windows应用程序中,我每天都需要登录 首先,我使用系统日期11-11-2019,每次在OnCreate上比较系统日期和存储的日期,如果日期不同,我调用login 但是系统时间可以暂停,对吗?然后我想到了服务器时间,但每次创建时检查服务器时间并不高效,因为我的应用程序启动了很多次 无法使用基于令牌的系统进行检查,因为我正在使用firebase REST-API备份,它的令牌每一小时过期一次,但是如果我使用基于令牌的系统,我仍然需要对其进行比较,系统时间可能会暂停 如何有效

在我的Delphi Windows应用程序中,我每天都需要登录

首先,我使用系统日期11-11-2019,每次在OnCreate上比较系统日期和存储的日期,如果日期不同,我调用login

但是系统时间可以暂停,对吗?然后我想到了服务器时间,但每次创建时检查服务器时间并不高效,因为我的应用程序启动了很多次

无法使用基于令牌的系统进行检查,因为我正在使用firebase REST-API备份,它的令牌每一小时过期一次,但是如果我使用基于令牌的系统,我仍然需要对其进行比较,系统时间可能会暂停

如何有效地检查日期是否更改


inapp时间很短,因为工作在10秒内完成,然后用户可能会关闭表单,下一个应用程序启动时间可能不到一分钟,所以为什么要再次调用服务器时间?

您可以查看查询NTP服务器的当前日期和时间。
更多详细信息,请参阅此部分。

但我认为每次在应用程序启动时进行查询都是不高效的。请试着理解我的问题。谢谢。当你说不高效时,你希望每天登录多少次?“你认为什么效率不必要地消耗了什么资源?”MartynA,正如我所说,主要问题需要每天登录。每天登录一次。我的第二个问题呢?第二次,我会说,在慢系统上,我可能是差异制造者。你对…不高效…的定义是什么。。。?您已拒绝1请求服务器2请求NTP服务器。我敢肯定,你不能重新启动和登录到你的应用程序足够快,任何服务器会感到疲劳,甚至注意到你,因为这一点。此外,你还拒绝使用自己的机器计时,因为有人可能会摆弄它的计时器。那么,一个被接受的答案的完整标准是什么呢?你需要下定决心。你要么通过测试本地机器的时间来提高效率,要么通过接触外部来降低效率。你不能两全其美。您是否进行过任何测试,以了解接触是否会对性能产生任何影响?测试这三个选项并比较性能只需几分钟的时间——如果需要半个多小时,我会感到惊讶。测试这三个问题,看看有什么区别,然后决定哪一个最适合您的需要。@TomBrunberg:由于OP没有响应查询,我想知道保持这个问题开放的意义是什么。@MartynA我还没有考虑关闭它,即使OP已经收到我的评论通知,以防他们现在很忙,无法回答。所以,我们会看到…@TomBrunberg和所有人都在试图回复,但网络在这里,对此非常抱歉。我说的是没有效率,因为我认为它不会。由于inapp时间很短,我的意思是用户交互或应用程序中的工作在10秒内完成,因此表单将在10秒内关闭,但在下一个应用程序启动时,我为什么要再次请求服务器时间?应用程序是通过NativeMessages启动的,当我读到系统时间可以暂停时,我问了问题,但在其他问题中,我读到这是不可能的,那么什么是正确的呢?