迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Linux 中获取昨天的日期

作者:迹忆客 最近更新:2023/05/16 浏览次数:

Bash 是一种流行的 Linux shell 和命令行界面,它提供了许多有价值的工具和功能来处理日期和时间。 在本文中,我们将探讨在 Linux 上的 Bash 中获取昨天日期的几种不同方法,我们还将讨论如何确保日期是 DST 安全的(夏令时安全的)。


在 Linux 中使用 date 命令获取昨天的日期

在 Bash 中获取昨天日期的最直接方法之一是使用 date 命令。 此命令允许您以多种不同方式格式化当前日期和时间的输出,您可以使用它以您需要的格式显示日期。

例如,要以 YYYY-MM-DD 的格式获取昨天的日期,可以使用以下命令:

$ date -d "yesterday" +%F

输出:

2022-11-26

此命令使用 -d 选项指定日期字符串(在本例中为“昨天”),并使用 +%F 格式说明符以 YYYY-MM-DD 格式打印日期。 这将以指定格式返回昨天的日期,例如 2022-11-26 表示 2022 年 11 月 26 日。

然而,这种方法有一些局限性。 例如,它依赖于系统的本地时区,并且不考虑夏令时 (DST)。

这意味着如果日期在 DST 过渡期内,结果可能不准确。 为了解决这个问题,我们可以使用考虑 DST 的不同方法。

一种方法是在 date 命令中使用 -u 选项,告诉它使用 UTC 时区而不是本地时区。 这将确保使用固定时区计算日期并避免 DST 转换出现任何问题。

下面是使用此选项以 YYYY-MM-DD 格式获取昨天日期的示例。

date -u -d "yesterday" +%F

输出:

2022-11-26

此命令与前一个命令类似,但添加了 -u 选项以使用 UTC 时区。 这将以指定的格式返回昨天的日期,但它将使用 UTC 时区而不是本地时区进行计算。


在 Linux 中使用 tz 变量获取昨天的日期

在 Bash 中,tz 环境变量不是标准的。 它是一个用户定义的变量,可用于存储系统的时区。

然后,依赖时区的程序可以使用此值来计算或显示日期和时间。

例如,可以将 TZ 变量设置为时区字符串,例如“America/Los_Angeles”或“Europe/Paris”,以指定所需的时区。 请注意,时区字符串的格式和内容可能因系统及其使用的时区数据库而异。

我们可以使用 tz 变量和 $EPOCHSECONDS 变量来获取昨天的日期。

printf -v tz '%(%z)T' -1
TZ=$tz printf -v yesterday '%(%Y-%m-%d)T' $(( EPOCHSECONDS - 86400 ))
echo $yesterday

输出:

2022-11-26

该代码设置系统的时区并以指定格式 (YYYY-MM-DD) 打印前一天的日期。 printf 命令的 -v 标志将命令的输出分配给一个变量(时区为 tz,前一天的日期为 yesterday)。

第一个 printf 命令的 -1 参数指定系统的当前时区。 第二个 printf 命令使用 TZ 环境变量设置时区和 $(( POCHSECONDS - 86400 )) 表达式以纪元时间计算前一天的日期(自 1970 年 1 月 1 日起经过的秒数) .

%(%Y-%m-%d)T 格式字符串指定所需的日期格式,echo 命令将日期打印到终端。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Bash 脚本中执行变量中的命令

发布时间:2023/05/18 浏览次数:106 分类:操作系统

本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。

Bash 变量相乘

发布时间:2023/05/18 浏览次数:50 分类:操作系统

本篇文章介绍如何在 Bash 中将两个变量相乘。在 Bash 中乘以变量。将两个变量相乘在 Bash 中是一个简单的操作。

Bash md5sum 命令

发布时间:2023/05/18 浏览次数:197 分类:操作系统

本篇文章介绍如何在 Bash 中使用 md5sum 命令。Bash md5sum 命令。md5sum 命令打印给定文件的 32 字符和 128 位校验和。

在 Bash 中排序数组

发布时间:2023/05/18 浏览次数:150 分类:操作系统

对数组进行排序对于任何编程语言来说都是一项非常常见的任务。 在 Bash 脚本中,我们还可以通过两种不同的方式完成此任务。

Bash 中的多维数组

发布时间:2023/05/18 浏览次数:70 分类:操作系统

多维数组对于任何程序都是非常重要的元素。 它主要用于创建数据的表视图和许多其他用途。本文演示如何创建二维数组。 此外,我们将通过必要的示例和解释来讨论该主题。

在 Bash 中打印数组元素

发布时间:2023/05/18 浏览次数:192 分类:操作系统

本文将展示我们如何在 Bash 脚本中打印数组元素。 为此,我们将讨论 5 种不同的方法。在 Bash 中使用 echo 语句打印数组元素

将数组传递给 Bash 中的函数

发布时间:2023/05/18 浏览次数:118 分类:操作系统

这篇文章是关于在 Bash 脚本中使用函数并将数组传递给它们的。 在进入实际主题之前,我们将简要介绍 Bash 脚本。

Bash 关联数组

发布时间:2023/05/18 浏览次数:71 分类:操作系统

本篇文章介绍如何在 Bash 中创建关联数组。Bash 关联数组 数组在 Bash 中可以很好地用于存储数据,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便