如何使用命令行界面获取日期和时间?

如何在终端获取当前日期/时间。 我主要以文本(控制台)模式启动我的系统,需要命令才能知道当前的日期/时间。

date命令将显示日期和时间。

man date将向您展示如何控制输出到您需要的任何格式,如果您想要除标准输出之外的其他内容。 例如:

 date "+%H:%M:%S %d/%m/%y" 

将以2015年9月14日14:09:22 09/06/2015的格式输出日期和时间

在Ubuntu Man Pages上可以找到更易于阅读的手册页版本

时间作为命令行提示符:

 PS1="\@ \w$bk" 

看起来像:上午11:41〜

一个小小的爱好者,用括号括起来:

 PS1="[ \@ \w$bk ]" 

看起来像:[上午11:36〜]

添加用户和localhost的时间,全部在括号内:

 PS1="[ \u on \h \@ \w$bk ]" 

看起来像:[DrPete on LittleSorrel 10:34 AM~]

将提示重置为默认值#: PS1="# "

要使提示永久可用,请添加您选择的提示行,即

 export PS1="\@ \w$bk " 

到〜/ .profile。

无法帮助它,我们现在正在滚动…添加颜色,在.profile中定义它们以使它们更容易设置:

  # Install GNU coreutils bk="\[\033[0;38m\]" #means no background and white lines txtBlue="\[\033[0;34m\]" #letter color blue txtRed="\[\033[0;31m\]" #letter color red txtCyan="\[\033[1;36m\]" #letter color cyan txtWhite="\[\033[1;37m\]" #letter color white txtYellow="\[\033[1;33m\]" #letter color yellow 

然后一个超级彩色提示将是:

 PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]" 

有一个用于时间和日期的命令列表:

  1. 命令date

     $ date Tue Jun 9 18:04:30 EEST 2015 
  2. zdump命令用于回显指定时区的时间。

     $ zdump EEST EEST Tue Jun 9 15:05:17 2015 EEST 
  3. hwclock的

     $ sudo hwclock Tue 09 Jun 2015 06:05:55 PM EEST -0.656710 seconds 
  4. 时钟但需要安装xview-clients

     sudo apt-get install xview-clients 
  5. 使用ntpdate命令。 ntpdate用于设置系统时间,但使用不带sudo只会打印时间和日期。

     $ ntpdate 26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting 

虽然这里的所有答案都是正确的,但您需要手动使用date命令来查看所需的时间,并且输出将与命令的正常输出混合。 这基本上没问题,但有时候并不实用。

您可以将date命令添加到提示符 ,该命令将在每次shell准备好命令时显示(固定)时钟,或者您可以使用具有状态行的终端多路复用器之一。 我喜欢的(虽然我承认最老的)是GNU屏幕。

在控制台或终端中,比如说通过ssh ,如果你使用屏幕 , 你可以做的不同的东西 (我曾经认为screen是我在只有一个文本终端工作时不可避免)你可以选择—这通常是默认配置—在状态行中有一个时钟:

终端屏幕

(屏幕截图位于虚拟终端上,但虚拟控制台上的屏幕截图相同)。

使用Ubuntu 15.04(systemd)时,还有timedatectl可以显示时间并允许您在man timedatectl更改它。

它没有参数

 %timedatectl
警告:忽略TZ变量。 仅读取系统的时区设置。

      当地时间:ke 2015-06-10 10:31:59 EEST
  环球时间:ke 2015-06-10 07:31:59 UTC
        转发时间:ke 2015-06-10 07:31:59
       时区:欧洲/赫尔辛基(EEST,+ 0300)
     启用NTP:是的
 NTP同步:是的
 当地TZ的RTC:没有
       DST有效:是的
 最后一次DST更改:DST开始于
                   su 2015-03-29 02:59:59 EET
                   su 2015-03-29 04:00:00 EEST
 下一个DST更改:DST结束(时钟向后跳一小时)at
                   su 2015-10-25 03:59:59 EEST
                   su 2015-10-25 03:00:00 EET

我使用的另一个不错的function是timedatectl set-ntp true ,它激活systemd-timesyncd ,它是内置SNTP(简单网络时间协议)客户端,它将你的时钟与远程服务器同步。

还会输出日期和时间:

 sudo hwclock 

更详细:

 man hwclock 

没有提到python,所以我会把它扔出去:

 $ python -c 'import time;print(time.asctime(time.localtime()))' Tue Nov 29 20:25:27 2016 

它的工作方式非常简单:

  • 我们导入time模块
  • localtime()函数为struct数据类型提供所需的所有信息,例如时间,日,年等。
  • asctime()将所有信息转换为字符串,然后我们将其打印出格式很好的格式

兼容python 2和3。

如果你正在寻找像YYYYMMDDHHMMSS ,20160804020100这样的东西,请使用:

 date +%Y%m%d%H%M%S 

它服务于大多数目的,如文件备份或日志过滤。