我需要在特定时间启动我的应用程序。我不想从事 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纪元以来经过的时间。将开始时间和当前时间转换为秒,然后减去这些值。