在C语言中是否有任何函数可以在Linux中设置系统时间? 我还必须设置我的系统时区。 换句话说,如果我的时区是IST,我可以将其设置为UTC吗?
答案 0 :(得分:2)
请注意,settimeofday
的tz
(时区)参数已过时。
答案 1 :(得分:1)
由环境中没有TZ
变量的进程使用的默认时区由/etc/localtime
的内容决定。在/usr/share/zoneinfo
中找到您想要的时区,然后复制或符号链接。
rm /etc/localtime
ln -s /usr/share/zoneinfo/Etc/GMT /etc/localtime
有一些互动工具可以帮助您选择时区,但它们因发行而异(例如Debian的dpkg-reconfigure tzdata
)
答案 2 :(得分:1)
您可以使用此
设置时区setenv("TZ", "PST8PDT", 1);
tzset();
答案 3 :(得分:0)
#include <sys/time.h>
#include <time.h>
int main()
{
time_t theTimeInSeconds = time(0);
theTimeInSeconds -= (5.5f * 60 * 60); // sub (5.5 * 60 mins * 60 secs) from current time
struct timeval tv = { theTimeInSeconds, 0 };
settimeofday(&tv, 0);
return 0;
}