请选择 进入手机版 | 继续访问电脑版

[LINUX] 详解Linux体系 中的日期设定与date下令 的用法

[复制链接]
查看21 | 回复4 | 2021-9-4 22:39:30 | 显示全部楼层 |阅读模式

名称 : date
利用 权限 : 全部 利用 者
利用 方式 : date [-u] [-d datestr] [-s datestr] [--utc] [--universal] [--date=datestr] [--set=datestr] [--help] [--version] [+FORMAT] [MMDDhhmm[[CC]YY][.ss]]
阐明 : date 能用来表现 或设定体系 的日期和时间,在表现 方面,利用 者能设定欲表现 的格式,格式设定为一个加号后接数个标记,此中 可用的标记列表如下 :
时间方面 :
% : 印出
% %n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 表现 本地 AM 或 PM
%r : 直接表现 时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到如今 为止的秒数 %S : 秒(00..61)
%T : 直接表现 时间 (24 小时制)
%X : 相当 于 %H:%M:%S
%Z : 表现 时区
日期方面 :
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接表现 日期和时间
%d : 日 (01..31)
%D : 直接表现 日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情况 )
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情况 )
%x : 直接表现 日期 (mm/dd/yy)
%y : 年份的末了 两位数字 (00.99)
%Y : 完备 年份 (0000..9999)
假如 不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss],
此中 MM 为月份,
DD 为日,
hh 为小时,
mm 为分钟,
CC 为年份前两位数字,
YY 为年份后两位数字,
ss 为秒数
把计 :
-d datestr : 表现 datestr 中所设定的时间 (非体系 时间)
--help : 表现 辅助讯息
-s datestr : 将体系 时间设为 datestr 中所设定的时间
-u : 表现 如今 的格林威治时间
--version : 表现 版本编号

例子 :
表现 时间后跳行,再表现 如今 日期 : date +%T%n%D
表现 月份和日数 : date +%B %d
表现 日期和设定时间(12:34:56) : date --date 12:34:56
设置体系 当前时间(12:34:56):date --s 12:34:56
注意 : 当你不渴望 出现偶尔 义的 0 时(比如说 1999/03/07),则能在标记中插入 - 符号,比如说 date +%-H:%-M:%-S 会把时分秒中偶尔 义的 0 给去掉,像是本来 的 08:09:04 会变为 8:9:4。别的 ,只有取得权限者(比如说 root)才能设定体系 时间。 当你以 root 因素 更改了体系 时间之后,请记得以 clock -w 来将体系 时间写入 CMOS 中,如许 下次重新开机时体系 时间才会持续抱持最新的精确 值。
ntp时间同步
linux体系 下默认安装了ntp服务,手动举行 ntp同步如下

复制代码代码如下:
ntpdate ntp1.nl.net

当然,也能指定其他的ntp服务器


扩展功能
date 工具可以完成更多的工作,不仅仅只是打印出当前的体系 日期。您可以利用 它来得到给定的日期毕竟 是星期几,并得到相对于当前日期的相对日期。相识 某一天是星期几
GNU 对 date 下令 的另一个扩展是 -d 选项,当您的桌上没有日历表时(UNIX 用户不必要 日历表),该选项非常有用 。利用 这个功能强盛 的选项,通过将日期作为引号括起来的参数提供,您可以快速地查明一个特定的日期毕竟 是星期几:

复制代码代码如下:
$ date -d "nov 22"
Wed Nov 22 00:00:00 EST 2006

在本示例中,您可以看到本年 的 11 月 22 日是星期三。
以是 ,假设在 11 月 22 日召开一个庞大 的会议,您可以立即 相识 到这一天是星期三,而这一天您将赶到驻地办公室。
获得相对日期
d 选项还可以告诉您,相对于 当前日期多少 天的毕竟 是哪一天,从如今 开始的多少 天或多少 星期以后,或者从前 (过去)。通过将这个相对偏移利用 引号括起来,作为 -d 选项的参数,就可以完成这项使命 。
比方 ,您必要 相识 两星期以后的日期。假如 您处于 Shell 提示符处,那么可以敏捷 地得到答案:

复制代码代码如下:
$ date -d '2 weeks'

关于利用 该下令 ,还有其他一些紧张 的方法。利用 next/last指令,您可以得到以后的星期几是哪一天:

复制代码代码如下:$ date -d 'next monday' (下周一的日期)

复制代码代码如下:$ date -d next-day +%Y%m%d(来日诰日 的日期)或者:
复制代码代码如下:date -d tomorrow +%Y%m%d

复制代码代码如下:$ date -d last-day +%Y%m%d(昨天的日期) 或者:
复制代码代码如下:date -d yesterday +%Y%m%d

复制代码代码如下:$ date -d last-month +%Y%m(上个月是几月)

复制代码代码如下:$ date -d next-month +%Y%m(下个月是几月)
利用 ago 指令,您可以得到过去的日期:

复制代码代码如下:$ date -d '30 days ago' (30天前的日期)

您可以利用 负数以得到相反的日期:

复制代码代码如下:$ date -d 'dec 14 -2 weeks'(相对:dec 14这个日期的两周前的日期)

复制代码代码如下:$ date -d '-100 days'(100天从前 的日期)

复制代码代码如下:$ date -d '50 days'(50天后的日期)

这个技巧非常有用 ,它可以根据将来的日期为本身 设置提示 ,大概 是在脚本或 Shell 启动文件中,如下所示:

复制代码代码如下:
DAY=`date -d '2 weeks' +"%b %d"`
if test "`echo $DAY`" = "Aug 16"; then echo 'Product launch is now two weeks away!'; fi


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 们至熟两创 | 2021-9-18 08:07:00 | 显示全部楼层
祖国尚未统一,我却天天灌水,好内疚!
回复

使用道具 举报

avatar 岳兄弟散养家鸡 | 2021-9-19 00:44:14 | 显示全部楼层
顶顶更健康!
回复

使用道具 举报

avatar 都市夜归人PLA | 2021-10-8 06:35:11 | 显示全部楼层
最近回了很多帖子,都没人理我!
回复

使用道具 举报

avatar 一网湖水沧 | 2021-10-15 22:40:00 | 显示全部楼层
不灌水就活不下去了啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则