来一发linux命令详解date利用办法(盘算母亲节和父亲节日期剧本示例)
但不会命令而成为高手也是不可能的.这就好比学英语,什么语法都不懂,只捧着单词手册背单词是学不会英语的,但是没有单词词汇量英语水平也提不高的。经常使用参数
格局:date
显现以后日期工夫。
格局:datemmddHHMM#简而言之,就是“月日时分”
格局:datemmddHHMMYYYY
格局:datemmddHHMM.SS
格局:datemmddHHMMYYYY.SS
设置以后日期工夫,只要root用户才干实行,实行完以后还要实行clock-w来同步到硬件时钟。
mm为月份,dd为日期,HH为小时数,MM为分钟数,YYYY为年份,SS为秒数。
格局:date+FORMAT
依据指定格局显现以后工夫。好比date+%Y-%m-%d就是以YYYY-mm-dd的情势显现以后日期,个中YYYY是年份,mm为月份,dd为日期。
经常使用FORMAT
%YYYYY格局的年份(Year)
%mmm格局的月份(),01-12
%ddd格局的日期(dayofmonth),01-31
%HHH格局的小时数(),00-23
%MMM格局的分钟数(),00-59
%SSS格局的秒数(),00-59
%FYYYY-mm-dd格局的完全日期(Fulldate),同%Y-%m-%d
%THH-MM-SS格局的工夫(Time),同%H:%M:%S
%s自1970年以来的秒数。C函数time(&t)大概Java中System.currentTimeMillis()/1000,newDate().getTime()/1000
%w礼拜几,0-6,0暗示礼拜天
%u礼拜几,1-7,7暗示礼拜天
注重以上格局是能够恣意组合的,还能够包含非格局串,好比date"+明天是%Y-%d-%m,如今是$H:%M:%S"
更多格局mandate或infodate
格局:date-dSTRING
格局:date--date=STRING
格局:date-dSTRING+FORMAT
显现用STRING指定的日期工夫(displaytimedescribedbySTRING,not‘now)。
格局:date-sSTRING
格局:date--set=STRING
设置以后工夫为STRING指定的日期工夫。
STRING可谓变更多样,撑持良多种日期工夫的形貌体例。上面枚举一些经常使用的日期暗示体例,但愿可以触类旁通。
指定日期:
date-dYYYY-mm-dd
指准时间,日期是明天:
date-dHH:MM:SS
指定日期工夫:
date-d"YYYY-mm-ddHH:MM:SS"
指定1970年以来的秒数:
date-d1970-01-011251734400secutc(2009年09月01日礼拜二00:00:00CST)
date-d1970-01-011314177812secutc(2011年08月24日礼拜三17:23:32CST)
明天:
date
date-dtoday
date-dnow
今天:
date-dtomorrow
date-dnext-day
date-dnext-days
date-d"nextday"
date-d"nextdays"
date-d"+1day"
date-d"+1days"
date-d"1day"
date-d"1days"
date-d"-1dayago"
date-d"-1daysago"
今天:
date-dyesterday
date-dlast-day
date-dlast-days
date-d"lastday"
date-d"lastdays"
date-d"-1day"
date-d"-1days"
date-d"1dayago"
date-d"1daysago"
前天:
date-d"2dayago"
date-d"2daysago"
date-d"-2day"
date-d"-2days"
年夜前天:
date-d"3dayago"
date-d"3daysago"
date-d"-3day"
date-d"-3days"
上周,一周前:
date-d"1weekago"
date-d"1weeksago"
上个礼拜五(不是上周五):
date-d"last-friday"
date-d"lastfriday"
上月,一月前:
date-dlast-month
date-dlast-months
date-d"-1month"
date-d"-1months"
下月,一月后:
date-dnext-month
date-dnext-months
date-d"+1month"
date-d"+1months"
客岁,一年前:
date-dlast-year
date-dlast-years
date-d"-1year"
date-d"-1years"
来岁,一年后:
date-dnext-year
date-dnext-years
date-d"+1year"
date-d"+1years"
一小时前:
date-d"last-hour"
date-d"last-hours"
date-d"1hourago"
date-d"1hoursago"
一小时后:
date-d"1hour"
date-d"1hours"
一分钟前:
date-d"1minuteago"
date-d"1minutesago"
一分钟后:
date-d"1minute"
date-d"1minutes"
一秒前:
date-d"1secondago"
date-d"1secondsago"
一秒后:
date-d"1second"
date-d"1seconds"
利用示例
示例一显现和设置日期工夫
#date
2011年08月20日礼拜六17:37:11CST
#date08220942
2011年08月22日礼拜一09:42:00CST
#clock-w
#date
2011年08月22日礼拜一09:42:01CST
#
示例二显现指定日期工夫
#date
2011年08月23日礼拜二07:41:03CST
#date-dnext-day+%Y%m%d
20110824
#date-dnext-day+%F
2011-08-24
#date-dnext-day+%F%T
2011-08-2407:41:47
#date-dlast-day+%F%T
2011-08-2207:43:46
#
#date-dyesterday+%F%T
2011-08-2207:44:31
#date-dtomorrow+%F%T
2011-08-2407:45:19
#date-dlast-month+%Y%m
201107
#date-dnext-month+%Y%m
201109
#date-dnext-year+%Y
2012
#
示例三写一个剧本来盘算母亲节和父亲节的日期
母亲节(每一年5月的第二个日曜日)
2005年5月8日
2006年5月14日
2007年5月13日
2008年5月11日
2009年5月10日
2010年5月9日
2011年5月8日
2012年5月13日
父亲节(6月第三个日曜日),上面是比来几年的父亲节日期
2005年6月19日
2006年6月18日
2007年6月17日
2008年6月15日
2009年6月21日
2010年6月20日
2011年6月19日
2012年6月17日
上面是Linux检察某年某月的日历的体例。
#cal52012
蒲月2012
日一二三四五六
12345
6789101112
13141516171819
20212223242526
2728293031
上面的剧本用来盘算指定年份的母亲节和父亲节的日期。
Bash剧本:calc_date.sh
.代码以下:
#!/bin/sh
#母亲节(每一年5月的第二个日曜日)
#usage:mother_day
mother_day()
{
localmay1#5月1日
if["$1"];then
may1=$1-05-01#也能够是是$1/05/01
else
may1=5/1#也能够是05/01,但不克不及是05-01
fi
#date-d$may1
#看5月1日是礼拜几
localw=$(date+%w-d$may1)#%w0=礼拜天1-6=礼拜一到六
#echo$w
if[$w-eq0];then#假如是5月1日礼拜天,就跳过一个礼拜
date+%F-d"$may1+1week"
else#假如5月1日不是礼拜天,就跳过两个礼拜,再减往w天
date+%F-d"$may1+2week-$wday"
fi
}
#父亲节(每一年6月的第三个日曜日)
#usage:father_day
father_day()
{
localjune1#保留6月1日的日期
if["$1"];then
june1=$1-06-01
else
june1=6/1
fi
#由于接纳1-7暗示礼拜几,简化了盘算逻辑
localw=$(date+%u-d$june1)#%u7=礼拜天,1-6=礼拜一到六
date+%F-d"$june1+3week-$wday"
}
#usage:./calc_date.sh
if["$1"];then
echoMotherDayofyear$1is$(mother_day"$1")
echoFatherDayofyear$1is$(father_day"$1")
else
echoMotherDayofthisyearis$(mother_day)
echoFatherDayofthisyearis$(father_day)
fi
运转了局以下:
.代码以下:
#./calc_date.sh
MotherDayofthisyearis2011-05-08
FatherDayofthisyearis2011-06-19
#./calc_date.sh2011
MotherDayofyear2011is2011-05-08
FatherDayofyear2011is2011-06-19
#./calc_date.sh2010
MotherDayofyear2010is2010-05-09
FatherDayofyear2010is2010-06-20
#./calc_date.sh2009
MotherDayofyear2009is2009-05-10
FatherDayofyear2009is2009-06-21
#./calc_date.sh2008
MotherDayofyear2008is2008-05-11
FatherDayofyear2008is2008-06-15
#./calc_date.sh2007
MotherDayofyear2007is2007-05-13
FatherDayofyear2007is2007-06-17
#./calc_date.sh2006
MotherDayofyear2006is2006-05-14
FatherDayofyear2006is2006-06-18
#./calc_date.sh2005
MotherDayofyear2005is2005-05-08
FatherDayofyear2005is2005-06-19
#./calc_date.sh2012
MotherDayofyear2012is2012-05-13
FatherDayofyear2012is2012-06-17
学习python,无论你是打算拿他当主要开发语言,还是当辅助开发语言,你都应该学习他,因为有些时间我们耗不起。 其次,Linux简单易学,因为我们初学者只是学的基础部分,Linux的结构体系非常清晰,再加上老师循序渐进的教学以及耐心的讲解,使我们理解起来很快,短期内就基本掌握了操作和运行模式。 在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。 为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。? linux鸟哥的私房菜,第三版,基础篇,网上有pdf下的,看它的目录和每章的介绍就行了,这个绝对原创! 在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。 让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。? Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
页:
[1]