Linux date时间操作使用整理

date命令在自动化脚本中广泛使用,今天整理了一些date的用法

  • 日期转时间
> date +%F  # YYYY-MM-DD
2020-06-05
  • 字符串转日期
> date -d '20200605'
Fri Jun  5 00:00:00 CST 2020
> date -d '2020-06-05'
Fri Jun  5 00:00:00 CST 2020
> date -d '2020-06-05' +%s #转成时间戳
1591286400
  • 字符串转日期并指定格式 
> date -d '2020-06-05' +%Y%m%d  => 20200605
> date -d '20200605' +%Y-%m-%d  => 2020-06-05

日期字符串操作

  • 当前日期加一天
> date -d "1 day" +%Y-%m-%d  => 2020-06-06
> date -d "+1 day" +%Y%m%d  => 20200606
> date -d tomorrow  => Sat Jun  6 18:47:25 CST 2020
> date -d tomorrow +%Y%m%d  => 20200606
  • 当前日期减一天
> date -d "-1 day" +%Y%m%d  => 20200604
> date -d "1 day ago" +%Y%m%d  => 20200604
> date -d yesterday  => Thu Jun  4 18:52:50 CST 2020
> date -d yesterday +%Y%m%d  => 20200604
  • 当前日期加一月
> date -d "1 month" +%Y%m%d  => 20200705
  • 为指定日期做加减操作
减一天
> date -d 'yesterday 20200521' +%Y%m%d  => 20200520
> date -d '20200521 yesterday ' +%Y%m%d  => 20200520

加一天
> date -d '20200519 1 day'  +%Y%m%d  => 20200520
> date -d '20200519 tomorrow'  +%Y%m%d  => 20200520
  • 时间戳操作
seconds=`date -d "20200519" +%s`  #转换从 1970 年 1 月 1 日 00:00:00 UTC 为到目前为止的秒数
seconds_add=`expr $seconds + 86400` #加一天,加上一天的秒数86400
to_date=`date -d @$seconds_add +%Y%m%d`  # 时间戳转换为日期需要加 @
20200520

 

在脚本中的应用,实现脚本每天增量日志输出

#! /bin/bash
day=`date +%Y%m%d`
echo $day

sh /data/load/run_dataload.sh > /data/log/dataload_${day}.log

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值