Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据C语言中的本地时间计算GMT时间_C_Linux_Time_Gnu_Libc - Fatal编程技术网

如何根据C语言中的本地时间计算GMT时间

如何根据C语言中的本地时间计算GMT时间,c,linux,time,gnu,libc,C,Linux,Time,Gnu,Libc,我有一个基于linx的系统,我们不能指定正在设置的时区。所以在这个设备上设置时间的人都会设置本地时间。现在我需要根据设备上存在的本地时间计算GMT时间 我想我需要输入用户所在的时区变量。例如,时区=EST-5:00EDT,这意味着当地时间比格林尼治标准时间晚5小时 现在我们在标准C库中有没有函数,当我通过偏移量时,它会为我计算GMT时间 我们非常感谢您在这方面提供的任何帮助。我在网上搜索,我只能在下面的链接中找到这些功能: . 我找不到任何可以根据偏移量计算时间的函数 有没有其他方法来处理这个问

我有一个基于linx的系统,我们不能指定正在设置的时区。所以在这个设备上设置时间的人都会设置本地时间。现在我需要根据设备上存在的本地时间计算GMT时间

我想我需要输入用户所在的时区变量。例如,时区=EST-5:00EDT,这意味着当地时间比格林尼治标准时间晚5小时

现在我们在标准C库中有没有函数,当我通过偏移量时,它会为我计算GMT时间

我们非常感谢您在这方面提供的任何帮助。我在网上搜索,我只能在下面的链接中找到这些功能: . 我找不到任何可以根据偏移量计算时间的函数

有没有其他方法来处理这个问题

对于任何时间,将“本地”时间作为“time_t”(这将是自历元起以秒为单位的值),加上GMT偏移量,时间戳将以GMT为单位

至少如果你不关心像夏时制或过去几个小时内可能发生的闰秒这样的事情


或者要求安装人员或客户设置正确的时区,以便您可以使用标准时间函数。这通常是最简单的解决方案,因为开发人员处理与时间相关的错误和复杂问题的成本通常比一次性安装某些新硬件要昂贵得多。

您所说的是正确的。不幸的是,我也需要考虑日光节约,这是我寻找标准功能的主要原因,这些功能应该考虑所有可能的情况。该设备提供的只是设置时间,而不是区域。因此,客户只需根据手表设置本地时间。由我来计算格林尼治标准时间。