linux 时间加减法操作:
加减操作:
date +%Y%m%d //显示前天年月日
date -d "+1 day" +%Y%m%d //显示前一天的日期
date -d "-1 day" +%Y%m%d //显示后一天的日期
date -d "-1 month" +%Y%m%d //显示上一月的日期
date -d "+1 month" +%Y%m%d //显示下一月的日期
date -d "-1 year" +%Y%m%d //显示前一年的日期
date -d "+1 year" +%Y%m%d //显示下一年的日期
普通转格式:
date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S"
2009/12/12 00:00.00
[root@VM_114_9_centos ~]# date -d "20171231""-1 day" +"%Y%m%d"
20171230
Linux脚本的date用法:
[upay@bj-upay-xhm-4f03-p1-m610-etm-02 ~]$ date +"%Y%m%d"
20160317
[upay@bj-upay-xhm-4f03-p1-m610-etm-02 ~]$ date +"%Y%m%d" -d "-8 days"
20160309
[upay@bj-upay-xhm-4f03-p1-m610-etm-02 ~]$ echo `date +"%Y%m%d" -d "-8 days"`
20160309
获取上个月的linux时间
echo `date "+%Y%m" -d last-month`
当前时间 echo `date "+%Y-%m-%d %H:%M:%S"`
前14天的 echo `date +"%Y%m%d" -d "-14 days"`
去年一月 echo `date "+%Y%m" -d "-1 year -4 month"`
echo `date "+%Y%m" -d last-month`
获取上个月的linux月末时间
date -d `date +%y%m01`"-1 day" +
%Y%m%d
echo $(date -d `date +%y%m01`"-1 day" +%Y%m%d)
date -d `date +%e`'days ago' +%Y%m%d
Linux如何得到上月月末日期
`date +%d` | xargs -I{} date -d '-{} day' +%Y%m%d
Linux如何得到当月月末日期
date +"%Y%m01" #当月第一天
date -d"$(date -d"1 month" +"%Y%m01") -1 day" +"%Y%m%d" #当月最后一天
(日期时间减去30天得到的 2月份存在bug)
date +"%Y%m$(cal|sed 'N;${s/.* //;P;d};D')" #当月最后一天
按天循环:
#! /bin/sh
nowdate=`date +%Y%m01` #本月第一天
startdate=`date -d"$nowdate last month" +%Y%m%d` #上个月第一天
enddate=`date -d"$nowdate last day" +%Y%m%d` #上个月最后一天
#遍历上个月的每一天
while (( $startdate <= $enddate ))
do
echo $startdate
startdate=`date -d "+1 day $startdate" +%Y%m%d`
done
阅读(3261) | 评论(0) | 转发(0) |