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~]#

阅读剩余
THE END