如何在终端获取当前日期和时间,并为其设置自定义命令?

997

我需要在Linux终端中查看时间。

如何在Linux终端获取日期和时间的命令是什么?

我们是否可以设置自定义函数?


62
抱歉,我无法翻译这段内容。它似乎缺少上下文,并且包含一个命令行提示符,可能是针对特定计算机系统的指令。 - Andrzej Jozwik
27
这个问题似乎与特定操作系统上的特定计算任务有关,因为操作系统本身只是一个软件层。正如@drstevens所说,这是谷歌搜索结果中的第一个,并且对我很有帮助。如果它不相关,那么它会读起来像“操作系统是否能够显示时间?”或“你们对于能够显示时间的操作系统有什么看法?”Stack Overflow是初学者的极好资源,看起来这个问题被关闭,是因为它太基础了。相反,应该将其标记为一个初学者问题。 - Andrew
73
StackExchange是获取答案的地方。这是一个好问题。也许这个问题应该被移动,但我认为它不应该关闭。当我搜索“linux check time”时,这个问题首先出现在我的谷歌搜索结果中。 - Dan Nissenbaum
11
有没有人可以把这个问题简单地移动一下,而不是关闭它并抱怨呢? - Egor Hans
61
你好,我是来自未来的一名开发者。我来自2018年,因为我搜索“Unix获取当前时间”,虽然我怀疑是使用“date”命令,但由于现在还早,所以更容易通过谷歌搜索而不是猜测或查找Unix文档以尝试在其中找到它。顺便说一下,这现在是谷歌搜索这个问题的排名第一。我希望现在的Stack Overflow用户意识到保留所有问题的重要性,无论它们看起来有多“愚蠢”。 - the-nick-wilson
显示剩余7条评论
2个回答

1379

该命令是date

要自定义输出,有很多选项可用,请参见date --help获取列表。

例如,date '+%A %W %Y %X'会给出Tuesday 34 2013 08:04:22,其中包括星期几的名称、周数、年份和时间。


6
获取毫秒级Unix时间戳的命令是:"date +%s%N | cut -b1-13"。 - Thomas Decaux
57
如果您正在寻找类似于YYYYMMDDHHMMSS的内容,例如20160804020100,请使用以下命令:date +%Y%m%d%H%M%S。它适用于大多数用途,如文件备份或日志筛选。 - computingfreak
2
我也喜欢,日期 '+%A%D%Y%X' - Ahdee
3
https://www.computerhope.com/unix/udate.htm - Ryan
date '+%Y-%m-%d %R:%S' 会给你结果 2022-10-12 11:34:07。 - Vladi
date '+%F %X' 实现了与上述相同的功能 2022-12-30 23:00:04。 - mightbesimon

106
你可以使用date来获取某一天的时间和日期:
$ date
Tue Aug 27 15:01:27 CST 2013

另外,hwclock 也可以:
$ hwclock
Tue 27 Aug 2013 03:01:29 PM CST  -0.516080 seconds

对于定制输出,你可以将date的输出重定向到像awk这样的东西,或者编写自己的程序来实现。
记得将你自己的可执行脚本/二进制文件放入你的PATH(例如/usr/bin)中,以便在任何地方都能调用它。

3
另一种方法:root@linux 17:32:02 /linux >cat /proc/driver/rtc rtc_time:23:38:24 rtc_date:2014-07-10 - Lunar Mushrooms
15
@pzkpfw这不是一个编程问题,而是一个Linux问题,意味着它应该在类似SuperUser的地方提问,就像一些类似的问题,如http://superuser.com/questions/309034/how-to-check-which-timezone-in-linux。如果该问题涉及如何使用Java、C++等在Linux上获取当前日期和时间,那么在SO上提问会更加合适。 - Jeutnarg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接