gpt4 book ai didi

linux - Perl获取UTC时间并获取UTC时间戳之间的差异

转载 作者:IT王子 更新时间:2023-10-29 00:47:10 26 4
gpt4 key购买 nike

我正在寻找有关如何正确执行此操作的一些 Perl 帮助。我不介意使用库来执行此操作。

我正在从 mySQL 数据库中提取 UTC 时间戳,格式为:2012-02-06 13:50:09

我需要 Perl 提取当前的 UTC 时间,并以分钟(或秒)为单位获取两个时间戳之间的差异。我在 Unix 子进程中执行此操作,但我很难获取 UTC 时间并进行比较,因为本地框在东部时间运行。我不介意在 Unix 时间执行此操作,但不确定如何准确获取 UTC 时间以与“last_timestamp”进行比较,后者是来自 mysql 的基于 UTC 的时间戳。

my $date_diff = qx(date -d "\$(date +'%F %T')" +%s) -
qx(date -d "$last_timestamp" +%s);

一如既往,我们非常感谢和重视您的帮助。

最佳答案

  1. 范式错误。 Unix 机器不“在东部时间运行”或“在太平洋时间运行”。 Unix 机器在“自纪元以来的秒数”上运行,并有一个默认时区,用于向用户表示时间值。一旦您理解了这一点,许多其他有用的东西就会免费获得。

  2. 您可以使用“date -u”让“date”返回 UTC 时间

  3. Perl 的 time内置函数返回自纪元以来的秒数(没有时区)。然后,您可以使用 Perl 的 gmtime 将其转换为 UTC Y-M-D-H-M-S 值内置功能。来电 gmtime没有任何参数实际上与 gmtime(time) 相同。

  4. 使用 DateTime::Format::MySQL解析 MySQL 日期/时间值。您还可以找到 DateTime有用。另请参阅 http://datetime.perl.org/

关于linux - Perl获取UTC时间并获取UTC时间戳之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com