#获取7天前日期
v_acct_month='20170603'
newdata=`date -d "$v_acct_month 7 day ago" +"%Y%m%d"`
echo $newdata
today"
"昨天是: todayAddDays(-1))"
"明天是: todayAddDays(1))"
"一周前是: todayAddDays(-7))"
"五个月前: todayAddMonths(-5))"
"十年之前: todayAddYears(-10)Year)年,我们是朋友"
"格式化日期:" + $todayToString('yyyy-MM-dd')
#!/bin/bash
# Program:
# Tring to calculate your demobilization date at how many days
# later
# History:
# 2008/5/1 cc First release
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH //说明解释代码是用来做什么的。
echo "This prorgram will try to calculate :"
echo "How many days about your demobilization date"
read -p "Please input your demobilization date (YYYYMMDD ex>20050401): " date2
date_d=`echo $date2 | grep '[0-9]\{8\}' ` //告诉用户程序的用途,并且说明应该如何输入日期格式
declare -i date_dem=`date --date="$date2" +%s`
declare -i date_now=`date +%s`
declare -i date_total_s=$(($date_dem-$date_now))
declare -i date_d=$(($date_total_s/60/60/24))
if [ "$date_total_s" -lt "0" ]; then
echo "You had been demobilization before: " $((-1date_d)) " ago"
else
declare -i date_h=$(($date_total_s-$date_d606024))/60/60))
echo "You will be demobilized after $date_d days and $date_h hours"
Fi //开始计算日期
date -d" -11 month " +%Y%m%d
获取到当天的日期
然后再判断月份,如果是1,3,5,7,8,10,12
那么把日期替换成31
如果是4,6,9,11
那么把日期替换成30
如果是2
还得去判断是否为闰年
是闰年就29
不是就28
1,$HOME/getdatesh,内容如下:
#!/bin/bash
DATE=/bin/date
$DATE +"%F %T" >>$HOME/date_loglog
2 $HOME/call_gdsh,内容如下
#!/bin/bash
SH=/bin/sh
${SH} $HOME/getdatesh
想把月份和日子左边的0去掉是吧, 用这个看看
echo `date +%Y-%m-%d` | awk -F"-" '{printf("date is %d-%d-%d\n",$1,$2,$3)}'1、date +%w
%w day of week (06); 0 is Sunday
2、如果星期2-6,上一个工作日肯定就是
t1=`date -d yesterday`
或者
t2=`date -d -1day`
3、如果星期天,上一个工作日肯定就是
t3=`date -d -2day`
4、如果星期1,上一个工作日肯定就是
t4=`date -d -3day`
5、法定节假日根据实际情况算吧
6、实例
#!/bin/sh
week=`date +%w`
case "$week" in
0)
last_work_day=`date -d -2day`
;;
1)
last_work_day=`date -d -3day`
;;
)
last_work_day=`date -d -1day`
;;
esac
echo $last_work_day
24小时,就是相差一天,所以变化的只有天数。
我这里提供一个笨方法:
用date获取当前日期和时间,格式化成你的文件命名格式,用下面的字符串截取方法获得天数:
${varible:n1:n2}:截取变量varible从n1到n2之间的字符串
天数减1后,重新组织成新的字符串。
用循环比较 ls 出来的文件名与这个字符串。
代码试过后再放上来。
以上就是关于linux shell 怎么得到上星期天的日期全部的内容,包括:linux shell 怎么得到上星期天的日期、window powershell 获取前后日期,格式化日期、shell 计算日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)