UNIX/Linux 中的日期和时间戳
日期和时间信息在命令行上并不像在图形版本的 Linux 中那样可见,但我们当然可以使用 date
命令获取该信息。
本文将解释如何使用 date
命令获取、解析、转换日期和时间,并在 Linux 上以不同的格式打印它们,假设使用 Bash shell 命令行。
在 Linux 中获取当前日期和时间
如图所示,运行 date
会为我们提供当前日期和时间以及时区。
user@linux:~$ date
Tue 01 Jan 2022 12:00:00 AM +04
默认日期时间格式将采用你所在的时区 - 在这种情况下,date
的输出适用于时区为海湾标准时间或 GMT+04
的用户。要以不同的格式打印日期和时间,例如 UTC 或 GMT,或 yyyy/mm/dd 或 dd/mm/yyyy
,你可以使用以下特殊修饰符指定该格式。
# to print the current date in dd/mm/yyyy format
date +%d-%m-%Y
# to print the current date and time in UTC
date -u
# to print the date and/or time as per IETF RFC3349
date --rfc-3339=seconds
# to print the date and time within a custom string
date +"Today is %D and the time is %I:%M:%S"
UNIX 时间
在大多数 UNIX 系统中,当前时间存储为自特定时刻以来经过的时间以简化,将时间保持为长整数,称为 UNIX 纪元。所有 UNIX 系统普遍接受的时刻是 January 1st 1970, 12:00:00 AM
。这称为 UNIX 时间戳,并被所有现代 UNIX/Linux 系统识别。
例如,如果我们希望找到 2022 年 1 月 1 日的 UNIX 时间戳,我们可以使用 date
命令。
user@linux:~$ date -d"1 January 2022 12:00 AM" +%s
1640980800
date
尝试将字符串解析为格式化的日期和时间(或者,如果未指定时间戳,则假定时间为上午 12:00),然后打印出给定日期和/或时间的 UNIX 时间戳形式。1640980800 是自 1970 年 1 月 1 日凌晨 12:00:00 以来经过的确切秒数。
反过来也是可能的,我们采用 UNIX 时间戳并将其转换为日期表示。为了取回我们的原始日期,我们可以传递如图所示的 UNIX 时间戳来转换它。
user@linux:~$ date -d @1640980800
Sat 01 Jan 2022 12:00:00 AM +04
如果我们愿意,我们还可以包含其他参数来以特定方式格式化日期,例如 UTC 或 GMT,如上所述。
相关文章
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:108 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Linux 中更新 YUM
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。
在 Linux 中安装 Deb 文件
发布时间:2023/05/04 浏览次数:130 分类:操作系统
-
本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。
Linux 中的 lsof 命令
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。
Linux 解决不能执行二进制文件问题
发布时间:2023/05/04 浏览次数:187 分类:操作系统
-
在本文中,我们将学习如何在 Linux 中执行二进制文件。 如果 Linux 无法执行二进制文件,我们还将学习如何解决错误。
Linux 中错误 Mesg: Ttyname Failed: Inappropriate Ioctl for Device Error
发布时间:2023/05/04 浏览次数:145 分类:操作系统
-
本文介绍如何在 Linux 中解决 mesg: ttyname failed: inappropriate ioctl for device 错误。在 Linux 中,这个错误是由于默认的 vagrant 配置 config.ssh.shell 与 bash -l 交互导致的。
Linux 中的 ps aux 命令
发布时间:2023/05/04 浏览次数:69 分类:操作系统
-
本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。
Linux 中的 NTP
发布时间:2023/05/04 浏览次数:137 分类:操作系统
-
本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。
在 Bash 中创建进度条
发布时间:2023/05/04 浏览次数:164 分类:操作系统
-
这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条