C++ C++;Linux-将时区更改为特定时区
我正在尝试将服务器时间与客户端时间同步,我获得了获取服务器时间的代码,如下所示。若我在服务器上运行它,在客户端登录时。我将向客户端发送时间,但是如何将“客户端”系统时间更改为从服务器发送的时间 <>我在StEnv上搜索过,但是我们如何改变Linux C++中的时间? 使用下面的代码,我可以获得当前时间:C++ C++;Linux-将时区更改为特定时区,c++,linux,C++,Linux,我正在尝试将服务器时间与客户端时间同步,我获得了获取服务器时间的代码,如下所示。若我在服务器上运行它,在客户端登录时。我将向客户端发送时间,但是如何将“客户端”系统时间更改为从服务器发送的时间 我在StEnv上搜索过,但是我们如何改变Linux C++中的时间? 使用下面的代码,我可以获得当前时间: /* localtime example */ #include <stdio.h> #include <time.h> int main () { time_t ra
/* localtime example */
#include <stdio.h>
#include <time.h>
int main ()
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
printf ( "Current local time and date: %s", asctime (timeinfo) );
return 0;
}
/*本地时间示例*/
#包括
#包括
int main()
{
时间与时间;
结构tm*时间信息;
时间(&rawtime);
timeinfo=localtime(&rawtime);
printf(“当前本地时间和日期:%s”,asctime(timeinfo));
返回0;
}
Linux(或Unix或Posix)系统测量从开始到结束的时间。在最低级别(与时间相关的和内核)没有真正涉及时区。时区是一个图书馆的东西,通过和其他功能
请阅读手册页
您确实希望使用(使用ntpd
、chrony
、ntpdate
…)或至少使用rdate
(但NTP更可取)同步时间(在本地和远程计算机上)
查询时间的系统调用是,带有CLOCK\u REALTIME
您可以使用和系统调用来设置时间。这通常需要root权限。更改时间需要root访问权限。为什么不使用NTP()同步你的时间。我认为这取决于发行版,例如在Gentoo中编辑/etc/timezone、symlink/etc/localtime或设置TZ环境变量。
settimeofday
但我认为你想让系统为你做这件事,而不必担心。你把事情搞混了。你提到设置时区,但你得到的是代码位中的时间。那你想要哪一个?