这篇文章将为大家详细讲解有关如何在Shell中使用时间和日期函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
壳下获取系统时间的方法直接调用系统变量
获取今天时期:“日期+ % Y % m % d”或“日期+ % F”或美元(日期+ % Y % m % d)
获取昨天时期:Y '昨天日期- d + % % m % d '
获取前天日期:“日期- d 2天+ % Y % m % d '
依次类推比如获取10天前的日期:Y '日期- d -10天+ % % m % d '
或n天前的“日期- d“n天ago"+ % y % m % d '
明天:“明天日期- d + % y % m % d '
注意以上中间有空格
<强>时间域强>
% H小时(00 . .23)
%我小时(01 . .12)
% k小时(0 . .23)
% l小时(1 . .12)
% M分(00 . .59)
% p显示出点或点
% r时间(hh: mm: ss点或点),12个小时
% s从1970年1月1日就是到目前经历的秒数
% s秒(00 . .59)
% T时间(24小时制)(hh: mm: ss)
% X显示时间的格式(% H: % M: % S)
% Z时区日期域
%一个星期几的简称(太阳. .坐在)
%一个星期几的全称(周日. .星期六)
% b月的简称(Jan . .12月)
% B月的全称(1 . .12月)
% c日期和时间(Mon 1999年11月8日14:12:46 CST)
% d一个月的第几天(01 . .31)
% D日期(mm/dd/yy)
% h和% b选项相同
% j一年的第几天(001 . .366)
%月(01 . .12)
% w一个星期的第几天(0代表星期天)
% w一年的第几个星期(00 . .53岁的星期一为第一天)
% x显示日期的格式(mm/dd/yy)
% y年的最后两个数字(1999年则是99)
% y年(例如:1970、1996等)
注意:只有超级用户才有权限使用日期命令设置时间,一般用户只能使用日期命令显示时间
<强>时间函数强>
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #, #壳日期计算函数,#, # 1:判断是否闰年check_leap (), #, # 2:获取月份最大日期get_mon_days (), #, # 3:检查日期格式check_date (), #, # 4:返回昨天日期get_before_date (), #, # 5:返回明天日期get_next_date (), #, # 6:返回当月月末日期YYYYMMDD get_cur_date () # 7:返回当月月份YYYYMM get_cur_month () # 8:返回上月月末日期YYYYMMDD get_last_date () # 9:返回上月月份YYYYMM get_last_month () # # # # # # # # # # # # # #一些其他函数# # # # # # # # # # # # # # # # # # # # # # # #, #判断是否闰年, #输入:year #输出:,“true",“fase", check_leap () { Y=' expr substr 1美元,1,4 ' r1=' expr Y 美元;%,4” r2=' expr Y 美元;%,100年 r3=' expr Y 美元;%,400年 if [, r1 美元;-eq 0, -a r2 美元;-ne 0, -o r3 美元;-eq 0,) 然后 FRUN=皌rue" 其他的 FRUN=癴alse" fi echo FRUN美元 } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -安康; #,获取月份最大日期, 1 #方法, get_mon_days (), {, Y=' expr substr 1美元,1,4”, M=' expr substr 1美元,5,2》, case “M"美元,拷贝; 03号| | 5 | 07 08年| | | 10 12),天=31;,, 04 | 06 | 09年| 11),天=30,,, 02), _tmpStr=癱heck_leap “Y"美元”,#判断是否闰年, if [,“_tmpStr"美元,=,“true",),,, then #闰年, 天=29, else 天=28, fi ;,, *), 天=0, ;,, esac echo days 美元; }, # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -安康; #,获取月份最大日期, 2 #方法, get_mon_days2 (), {, Y=' expr substr 1美元,1,4”, M=' expr substr 1美元,5,2》, #取当月底最后一天, aa=' cal M 美元;$ Y ', #日历, 天=' | echo aa 美元;awk & # 39; {print $ NF} & # 39;”, echo days 美元; }, #检查日期格式(例:20090227), #返回状态($ ?),0,合法,1,非法, check_date (), {, #检查是否传入一个参数 ($ #大敌;-ne 1,),,, echo 1,, exit 1, #检查字符串长度, _lenStr=' expr length “1美元“”, (,“_lenStr"美元,-ne 8,),,, echo 1,, exit 1, #检查是否输入的是非0开头的数字, _tmpStr=' echo “1美元“,|,grep “^ ^[0][0 - 9] *“美元”, [,-z “_tmpStr"美元;,),,,echo 1,, exit 1, Y=' expr substr 1美元,1,4”, M=' expr substr 1美元,5,2》, D=' expr substr 1美元,7,2》, #检查月份, (,“M"美元,-lt 1, -o “M"美元;,-gt 12,),,, echo 1,, exit 1, #取当月天数, 天=' get_mon_days “Y M"美元”, #检查日, (,“D"美元,-lt 1, -o “D"美元;,-gt “days"美元;,),,,echo 1,, exit 1, echo 0, }, # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -如何在Shell中使用时间和日期函数