linux的date的几个例子

本文介绍了一个名为test.sh的Shell脚本,演示了如何利用date命令处理日期格式转换、周数计算及日期运算等功能,并提供了实际运行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

shell脚本为test.sh:

input=$1
echo "sdfa:${input}"
echo ${input}
echo "dfadf"${input}
echo dfasdf{input}
echo $(date -d "${input}" +%Y)
echo $(date -d "${input}" +%m)
echo $(date -d "${input}" +%V)

 

./test.sh 2013-07-15 的执行结果为

sdfa:2013-07-15
2013-07-15
dfadf2013-07-15
dfasdf{input}
2013
07
29#第29周

%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用

注意date -d 命令中

1、空格的位置,还有起各个符号与参数间是否有空格

2、日期可以不加引号,date命令中的变量也可以不加引号

dateinput="2013-01-31"#等号前后不能有空格
date -d "2013-07-31" +%V
date -d "${dateinput}" +%Y
date -d "${dateinput}" +%V
date -d "${dateinput} -9 weeks" +%Y%m%d

dateinput=$1#注意等号前后不能有空格
year=$(date -d "${dateinput}" +%Y)
month=$(date -d "${dateinput}" +%m)
first_day_of_month=$(date -d "${dateinput}" +%Y%m01)
first_day_of_next_month=$(date -d "${dateinput} +1 month" +%Y%m01)
last_day_of_month=$(date -d "${first_day_of_next_month} -1 days" +%Y%m%d)

#echo "the last day:${last_day_of_month}"

dateinput2=$2
begin_date=$(date -d "${dateinput} +${dateinput2} month" +%Y%m01)
next_month_day=$(date -d "${begin_date} +1 month" +%Y%m%d)
end_date=$(date -d "${next_month_day} -1 days" +%Y%m%d)

echo "begin_date:${begin_date}"
echo "end_date:${end_date}"

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值