当前位置: 首页 > Linux

使用此Linux命令让时钟倒转!你不知道的date隐藏用法

时间:2023-04-06 06:18:16 Linux

今天写了一个项目的脚本,需要获取前一天的时间。本来是得到今天的时间,然后减去的。看了手册中对date命令的原生支持后,大喜过望。今天就来详细说说这个看似不起眼的date命令。文章每周持续更新,大家的“三连冠”就是对我最大的肯定。可以微信搜索公众号《后端技术学堂》立即阅读(一般比博客更新一两篇)。使用Linux的同学应该对Linux的date命令不陌生,经常需要在命令行中敲这个命令获取当前时间。但这只是他能力的冰山一角。[lemon@localhost~]$dateWednesday,February12,202019:51:46CST例行操作获取时间戳,从1970年1月1日0:00:00到现在经过的秒数[lemon@localhost~]$date+%s1581508426时间戳恢复,将刚才的秒数恢复为时间字符串[lemon@localhost~]$date-d"@1581508426"Wednesday,February12,202019:53:46CSTspecifiedtimeConvertstringtotimestamp[lemon@localhost~]$date-d'02/22/222207:21:22'+%s7956832882#或[lemon@localhost~]$date-d'2222-02-2207:21:22'+"%s"7956832882格式输出时间格式[lemon@localhost~]$date"+%Y-%m-%d"2020-02-12[lemon@localhost~]$date"+%H:%M:%S"20:01:53[lemon@localhost~]$date"+%Y-%m-%d%H:%M:%S"2020-02-1220:02:06参考man手册具体格式:formatFORMAT控制输出格式。此格式仅在选项指定为全局时间时有效。解释如下:%%%文本%a当前地区星期几的缩写(Sun..Sat)%A当前地区星期几的全称(不同长度)(Sunday..Saturday)%b当前区域的月份缩写(Jan..Dec)%B当前区域的月份全称(不定长)(January..December)%c当前区域的日期和时间当前区域(SatNov0412:02:33EST1989)%d(在月份中)数字(以两位数表示)(01..31)%D日期(以月/日/年格式显示)(mm/dd/yy)%e(月)数(去掉零)(1..31)%h与%b%H小时相同(以24小时格式显示,用两位数表示)(00..23)%I小时(以12小时格式显示,用两位数字表示)(01..12)%j(以年为单位)一年中的第几天(以三位数字表示)(001..366)%k小时(以24小时格式显示,不显示零)(0..23)%l小时(以12小时格式显示,减零)(1..12)%m月(以两位数表示)(01..12)%M分钟(用两位数表示)(00..59)%n换行%p当前时间是AM还是PM%r时间,以12小时格式显示(hh:mm:ss[A/P]M)%s从1970年1月1日0:00:00到现在经过的秒数(GNU扩展名)%S秒数(用两位数表示)(00..60)%tTab在水平方向上的%T时间,以24小时格式显示(hh:mm:ss)%U周数(一年),星期日为一周的开始(用两位数表示)(00..53)%V(一年中)是哪一周,以星期一为一周的开始(用两位数表示)(01..52)%w用数字表示星期几(0..6);0代表星期天%W(oftheyear)周数,以星期一为一周的开始(用两位数表示)(00..53)%x显示当前日期,格式为(mm/dd/yy)%X按照(%H:%M:%S)格式显示当前时间%y年份的后两位数(00..99)%Y年份(4位数字)(1970...)%z如RFC-822中指定的数字时区显示(例如,-0500)(非标准扩展)%Z时区(例如,EDT(美国东部时区)),如果您无法决定它是哪个时区是,则为空获取明天相对于当前时间的时间[lemon@localhost~]$date-dnext-day2020February13thThursday20:08:35CST#可以指定输出格式,如[lemon@localhost~]$date-dnext-day+%Y%m%d20200213获取昨天相对于当前时间的时间[lemon@localhost~]$date-dlast-day2020February11Tuesday20:11:35CST#也可以指定输出格式,如[lemon@localhost~]$date-dlast-day+%Y%m%d20200211获取上个月相对于当前时间的时间[lemon@localhost~]$date-dlast-monthJanuary202012thSunday20:13:20CST#同样,也可以指定输出格式,如[lemon@localhost~]$date-dlast-month+%Y-%m-%d2020-01-12得到相对当前时间下个月时间[lemon@localhost~]$date-dnext-month2020-03-12Thursday20:15:44CST[lemon@localhost~]$date-dnext-month"+%Y-%m-%d%H:%M:%S"2020-03-1220:15:38获取相对于当前时间的下一年时间[lemon@localhost~]$date-dnext-year2021Friday,February1220:17:21CST获取上一年相对于当前时间的时间[lemon@localhost~]$date-dlast-year2019-02-12Tuesday20:17:29CST更多信息可以搜索在微信公众号」「后端技术学堂」回复「资讯」,里面有我为你准备的各种编程学习资料。文章每周持续更新,我们下期再见!