date -d

2013-10-16

date -d参数可以根据当前日期获取更多我们需要的日期。现在:date -d now

1、上个月末
date -d `date +%y%m01`"-1 day" +%d搜索
2、往前倒
date -d -`date +%d`day +%d
3、条件
if [`date -d tomorrow +%d` == 01 ];

if [`date -d tomorrow +%e` == 1 ];
crontab月末执行实例
0 4 * * * if [`date +%d -d tommorrow` = 01 ];then;command
4、上个月
date -d last-month
date -d -1month
5、下个月
date -d next-month
date -d 1month
6、本月初
date -d 1`date +%B`
7、上个月初
date -d 1`date -d last-month +%B`
8、指定月份
date -d 1May
9、其他
date -d yesterday
date -d tomorrow
date --date='2 days ago'
date --date='3 months 1 day'

下星期一

date -d 'next monday'

上星期六

date -d 'last saturday'

date -d last-saturday +%Y-%m-%d
10、+1-1
date '+%B %d'英文名
date +%Y%m%d --date="+1 day" //显示后一天的日期
date +%Y%m%d --date="-1 day" //显示前一天的日期
date +%Y%m%d --date="-1 month" //显示上一月的日期
date +%Y%m%d --date="+1 month" //显示下一月的日期
date +%Y%m%d --date="-1 year" //显示前一年的日期
date +%Y%m%d --date="+1 year" //显示下一年的日期

11、时间戳
[root@host001 ~]#date -d "@1"
1970年 01月 01日 星期四 08:00:01 CST
[root@host001 ~]# date +%s
1382323658
[root@host001 ~]# date -d @1382323658
2013年 10月 21日 星期一 10:47:38 CST

12、获取到18点的时间差
#!/bin/sh

today=`date +%Y%m%d`
d18=`date -d "$today 18:00:00" +%s`
now1=`date -d now +%s`
echo $(($d18-$now1))

或者
#!/bin/sh
#d18=`date -d "now 18:00:00" +%s`
#d18=`date -d "18:00" +%s`
d18=`date -d "18" +%s`
now1=`date -d now +%s`
echo $(($d18-$now1))

分类:Linux | 标签: |

相关日志

评论被关闭!