我需要在特定时间启动我的应用程序。我不想从事 Jade 米工作。我的可执行文件是一个应用程序,喜欢从2011年1月20日开始
所以我必须以
./app –日期2011年1月20日

这里的问题是,我将如何计算命令行选项中提供的当前和日期的时差。

我不想写韩元功能。是否有任何内置函数可用于此类时差。 (c和Linux)

最佳答案

您可以计算开始时间与现在之间的差值(以毫秒为单位),然后通过将该数字作为超时参数传递给select()epoll()来等待这么多毫秒。

要计算差异,一种方法是先使用struct tm将日期字符串转换为strptime(),然后将其传递给mktime(),这将为您提供距unix纪元1970-01-01 00:00:00几秒钟的时间。然后使用gettimeofday()clock_gettime()获取当前时间,它们还会报告自unix纪元以来经过的时间。将开始时间和当前时间转换为秒,然后减去这些值。

10-06 09:24