我想从c程序设置/更改系统的时间。我在互联网上搜索了很多但没有找到任何满意的结果。我在settimeofday上有一个llok但它需要从1970年1月1日00:00:00 UTC开始经过几秒和几微秒。
但是我希望我可以明确地给出日期,年份,月份,小时,分钟和秒,并设置UTC时间。
是否有任何c库函数或任何其他可用的机制?
答案 0 :(得分:1)
struct time
。您可以忽略星期几和日期字段。将负值放入tm_isdst
以让系统决定DST当天是否生效。mk_time
的指针调用struct time
- 它将填充结构中缺少的字段,并将time_t
设置返回到此日期。settimeofday()
与struct timeval
中的返回值一起使用(根据您的喜好选择μs部分)。对时区参数使用“NULL”。请注意,您需要具有适当的(root)权限来设置系统时间,并且还要注意settimeofday
在Linux上有一些特殊的特性,因此完全建议您阅读手册页
显然,以上所有内容都需要time.h
包含在你的程序中。