linux %date,linux find命令详解
大家好,关于linux %date很多朋友都还不太明白,今天小编就来为大家分享关于linux find命令详解的知识,希望对各位有所帮助!
Linux中关于Date命令参数%U和%W的区别
Linux版本:rockyLinux9
问题1:%U和%W的区别:
答:%U代表的是以星期日为一周的第一天,一年中的第几周;%W则是以星期一为一周的第一天,一年中的第几周。
问题2:为何2024年1月1日用不同的参数显示出来的第几周是不一样的
答:2024年1月1日恰巧是一个星期一。当用%U参数计算时,因为以周日为一周的第一天,故此日算作2023年的最后一周。相反,使用%W参数时,因以周一为一周的开始,故此日被计算为2024年的第一周。因此,即使是在同一年,根据不同的参数选择,同一日期所对应的周数也可能不同。
linux下date多种用法
在Linux下使用date命令进行时间管理时,通过多种格式参数可以实现灵活的时间操作。这些参数包括小时、分钟、秒、星期、月、年等,下面详细介绍各个参数的应用与功能:
1.时间格式化:%H、%I、%k、%l表示小时,分别对应24小时制、12小时制、24小时制无前导零、12小时制无前导零;%M表示分钟;%p显示为AM或PM;%r表示时间以12小时制显示,格式为hh:mm:ss AM或PM;%s表示从1970年1月1日至当前时间的秒数;%S表示秒;%T表示24小时制的时间,格式为hh:mm:ss;%X显示时间格式为%H:%M:%S;%Z显示时区;日期域包含:%a为星期简称(Sun..Sat);%A为星期全称;%b为月份简称(Jan..Dec);%B为月份全称;%c表示日期和时间格式,如“Mon Nov 8 14:12:46 CST 1999”;%d表示一个月的第几天;%D格式为mm/dd/yy;%h和%b选项相同;%j表示一年中的第几天;%m表示月份;%w表示一周中的第几天(0表示周日);%W表示一年中第几周(00-53,以周一为第一天);%x显示日期格式为mm/dd/yy;%y表示最后两年的年份(如1999则为99);%Y表示完整年份,如1970、1996等。
2.将字符串时间转换为秒:使用'%s'参数可以将日期时间字符串转换为从1970年1月1日00:00:00到当前时间的秒数。
3.将秒转换为日期:通过提供秒数参数,date命令能返回对应的日期时间。
4.两时间相减:通过给date命令提供两个时间参数,可以计算两个时间之间的差值。
5.指定日期的前几天:使用'+'或'-'符号加上天数参数,可以向后或向前推算几天。
6.毫秒为单位获取时间:使用'%N'参数可以获取从1970年1月1日到当前时间的毫秒数。
通过这些格式化参数,Linux用户可以精确地处理和格式化时间,满足不同场景下的时间需求。
linux命令大全之date命令详解
在linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。
1.命令格式:
date [参数]... [+格式]
2.命令功能:
date可以用来显示或设定系统的日期与时间。
3.命令参数:
必要参数:
%H小时(以00-23来表示)。
%I小时(以01-12来表示)。
%K小时(以0-23来表示)。
%l小时(以0-12来表示)。
%M分钟(以00-59来表示)。
%P AM或PM。
%r时间(含时分秒,小时以12小时AM/PM来表示)。
%s总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S秒(以本地的惯用法来表示)。
%T时间(含时分秒,小时以24小时制来表示)。
%X时间(以本地的惯用法来表示)。
%Z市区。
%a星期的缩写。
%A星期的完整名称。
%b月份英文名的缩写。
%B月份的完整英文名称。
%c日期与时间。只输入date指令也会显示同样的结果。
%d日期(以01-31来表示)。
%D日期(含年月日)。
%j该年中的第几天。
%m月份(以01-12来表示)。
%U该年中的周数。
%w该周的天数,0代表周日,1代表周一,异词类推。
%x日期(以本地的惯用法来表示)。
%y年份(以00-99来表示)。
%Y年份(以四位数来表示)。
%n在显示时,插入新的一行。
%t在显示时,插入tab。
MM月份(必要)
DD日期(必要)
hh小时(必要)
mm分钟(必要)
ss秒(选择性)
选择参数:
-d字符串显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s字符串根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u显示GMT。
--help在线帮助。
--version显示版本信息
4.使用说明:
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下:%: 打印出%:
%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)
2.在设定时间方面:
date-s//设置当前时间,只有root权限才能设置,其他只能查看。
date-s 20080523//设置成20080523,这样会把具体时间设置成空00:00:00
date-s 01:01:01//设置具体时间,不会对日期做更改
date-s“01:01:01 2008-05-23″//这样可以设置全部时间
date-s“01:01:01 20080523″//这样可以设置全部时间
date-s“2008-05-23 01:01:01″//这样可以设置全部时间
date-s“20080523 01:01:01″//这样可以设置全部时间
3.加减:
date+%Y%m%d //显示前天年月日
date+%Y%m%d--date="+1 day" //显示前一天的日期
date+%Y%m%d--date="-1 day" //显示后一天的日期
date+%Y%m%d--date="-1 month" //显示上一月的日期
date+%Y%m%d--date="+1 month" //显示下一月的日期
date+%Y%m%d--date="-1 year" //显示前一年的日期
date+%Y%m%d--date="+1 year" //显示下一年的日期
5.使用实例:
实例1:显示当前时间
命令:
复制代码
代码如下:
date
date'+%c'
date'+%D'
date'+%x'
date'+%T'
输出:
复制代码
代码如下:
[root@localhost~]# date
2012年 12月 08日星期六 08:31:35 CST
[root@localhost~]# date'+%c'
2012年12月08日星期六 08时34分44秒
[root@localhost~]# date'+%D'
12/08/12[root@localhost~]# date'+%x'
2012年12月08日
[root@localhost~]# date'+%T'
08:35:36[root@localhost~]# date'+%X'
08时35分54秒
[root@localhost~]#
实例2:显示日期和设定时间
命令:date--date 08:42:00
输出:
复制代码
代码如下:
[root@localhost~]# date'+%c'
2012年12月08日星期六 08时41分37秒
[root@localhost~]# date--date 08:42:00
2012年 12月 08日星期六 08:42:00 CST
[root@localhost~]# date'+%c'--date 08:45:00
2012年12月08日星期六 08时45分00秒
[root@localhost~]#
[code]/pp实例3:date-d参数使用
命令: date-d"nov 22"
输出:
[code]
[root@localhost~]# date-d"nov 22"
2012年 11月 22日星期四 00:00:00 CST
[root@localhost~]# date-d'2 weeks'
2012年 12月 22日星期六 08:50:21 CST
[root@localhost~]# date-d'next monday'
2012年 12月 10日星期一 00:00:00 CST
[root@localhost~]# date-d next-day+%Y%m%d
20121209
[root@localhost~]# date-d tomorrow+%Y%m%d
20121209
[root@localhost~]# date-d last-day+%Y%m%d
20121207
[root@localhost~]# date-d yesterday+%Y%m%d
20121207
[root@localhost~]# date-d last-month+%Y%m
201211
[root@localhost~]# date-d next-month+%Y%m
201301
[root@localhost~]# date-d'30 days ago'
2012年 11月 08日星期四 08:51:37 CST
[root@localhost~]# date-d'-100 days'
2012年 08月 30日星期四 08:52:03 CST
[root@localhost~]# date-d'dec 14-2 weeks'
2012年 11月 30日星期五 00:00:00 CST
[root@localhost~]# date-d'50 days'
2013年 01月 27日星期日 08:52:27 CST
说明:#后为需要输入的命令
date命令的另一个扩展是-d选项,该选项非常有用。使用这个功能强大的选项,通过将日期作为引号括起来的参数提供,您可以快速地查明一个特定的日期。-d选项还可以告诉您,相对于当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为-d选项的参数,就可以完成这项任务。
具体说明如下:
date-d"nov 22" 今年的 11月 22日是星期三
date-d'2 weeks' 2周后的日期
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天后的日期)
实例4:显示月份和日数
命令:date '+%B%d'
输出:
复制代码
代码如下:
[root@localhost~]# date'+%B%d'
十二月
08[root@localhost~]#
实例5:显示时间后跳行,再显示目前日期
命令:date'+%T%n%D'
输出:
复制代码
代码如下:
[root@localhost~]# date'+%T%n%D'
09:00:30
12/08/12
[root@localhost~]#