shell操作时间

本文详细介绍了在Linux环境下如何使用date命令进行日期和时间的操作与计算,包括获取当前日期、格式化输出、计算前后N天的日期,以及如何将日期转换为Linux时间戳,同时提供了实际应用示例。

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

#job_today_simple_date=`date --date=${etl_date} +%Y%m%d`
#job_today_before7=`date -d "${etl_date} -7 day" +%Y-%m-%d`
#job_today_before30=`date -d "${etl_date} -30 day" +%Y-%m-%d`
#hive -hivevar job_date=${etl_date} -hivevar job_today_simple_date=${job_today_simple_date} -f ${USC_HQL_PATH}/exe_bdm_flow_app_pv.hql


date +%Y%m%d -d "2 day ago"
date +%Y%m%d -d "2 week ago"
date +%Y%m%d -d "2 month ago"
date +%Y%m%d -d "2 year ago"
date -d "yesterday"


昨天的命令是:
yesterdayformat=`date --date='yesterday' "+%Y-%m-%d_%H:%M:%S"`
echo $yesterdayformat
输出格式是:
2006-03-30_08:39:54

明天的命令是:
tomorrowformat=`date --date='tomorrow' "+%Y-%m-%d_%H:%M:%S"`
echo $tomorrowformat
输出格式是:
2006-04-01_08:41:29

在Linux下,得到N天以前或以后的日期格式:
#date –I –d ‘-n day’ (可以得到N天前的日期,格式为YYYY-MM-DD)
#date –d ‘-n day’ “+%Y%m%d” (可以得到你天前的日期,格式为YYYYMMDD)
#date –I –d ‘+n day’ (可以得到N天后的日期,格式为YYYY-MM-DD)
#date –d ‘+n day’ “+%Y%m%d” (可以得到你天后的日期,格式为YYYYMMDD)

CURTIME=`date +"%Y-%m-%d %H:%M:%S"` #当前的系统时间 2007-10-04 14:34:00
LASTLINE=$(tail -1 success.moni) #获取文件的最后时间 2007-10-04 14:30:00
echo "lasttime "$LASTLINE
echo "Systime "$CURTIME
Sys_data=`date -d "$CURTIME" +%s` #把当前时间转化为Linux时间
In_data=`date -d "$LASTLINE" +%s`
interval=`expr $Sys_data - $In_data` #计算2个时间的差
echo $In_data
echo $Sys_data
echo $interval
if [ $interval -gt 600 ] ; then
echo "need restart"
exit 0
fi

echo "need't restart"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值