php unixtime,time()和时区

时间:2019-02-11 18:24:37

标签: php

我在一些站点上收集了来自世界各地一些国家的遥测数据,例如温度,压力,电压等。

会发生什么事,我将通过自动电子邮件向这些服务器之一发送“阀门关闭/打开”或“温度升高/降低”命令。生成电子邮件后,我将通过time()获取当前的unix时间戳。这有两个目的。 #1它为我提供了生成电子邮件的时间,并且它是唯一的邮件ID。

此unix时间戳与其他信息一起输入到SQL数据库中,例如,contoller发出了命令,目标服务器等。

此外,此unix时间戳(唯一ID)与电子邮件一起发送到目标服务器。目标服务器一旦收到邮件(通过fetchmail和procmail),便按照指示执行操作,然后将确认电子邮件发送回主系统。发送回的电子邮件带有原始的unix时间戳(唯一ID)以及目标服务器接收命令的时间($rx_time)和目标服务器发出命令的时间($tx_time )通过time()。这些服务器运行本地php脚本。

一切正常,我很高兴。但是,有32个目标服务器跨越4个不同的时区。

我不希望在电子邮件中发送格式化日期,例如:2016-04-13 13:04:16,因为这将与我的procmail正则表达式配方冲突。我想要发送一个UTC +0 Unix时间戳,例如:1234567890,我将在本地进行时间转换。

我将如何在所有32台服务器上(在其本地php脚本中)将时区设置为UTC +0并从中提取unixtime?

希望我有道理。

0 个答案:

没有答案