linux中命令date,Linux 中date命令的用法

关于Linux内置命令date的用法,这里主要说一下,它在shell脚本中如何做日期计算和转换的。

格式化输出日期

详细的格式化符号可以用man date找到,这里以年月日来表示

获得当前的日期:

# date +%Y-%m-%d

2014-10-0

2# date "+%Y-%m-%d"

2014-11-02

# date +"%Y-%m-%d"

2014-11-02

上面的不同地方是双引号的位置。

# date -d "1 month ago 2014-10-29" +"%Y-%m-01"

2014-09-01

获得昨天的日期:计算前一天,可以用last day, yesterday和1 day ago来获得。

# date -d yesterday '+%Y-%m-%d'

2014-10-29

计算给定日期的前一天

# date --date='last day 2014-09-02' +"%Y-%m-%d"

2014-09-01

# date --date='last day 2014-09-01' +"%Y-%m-%d"

2014-08-31

# date -d '1 day ago 2014-09-31' +"%Y-%m-%d"

date: invalid date “1 day ago 2014-09-31”

# date -d '1 day ago 2014-10-01' +"%Y-%m-%d"

2014-09-30

如果是前几天的话,加不加s都可以,但复数最好加s,语义上讲的通嘛

# date -d '2 day ago 2014-10-01' +"%Y-%m-%d"

2014-09-29

# date -d '2 days ago 2014-10-01' +"%Y-%m-%d"

2014-09-29

但如何给定日期的下一天的日期呢?

# date -d "1 day 2014-10-01" +%Y-%m-%d

2014-10-02

# date -d "3 day 2014-10-01" +%Y-%m-%d

2014-10-04

# date -d "3 days 2014-10-01" +%Y-%m-%d

2014-10-04

就是说,不用ago,也不用after就直接表示从给定日期往后的偏移日期

# date -d "3 months 2014-10-01" +%Y-%m-%d

2015-01-01

# date -d "3 month 2014-10-01" +%Y-%m-%d

2015-01-01

# date -d "1 month 2014-10-01" +%Y-%m-%d

2014-11-01

如果已知日期的秒数,如何转换回日期格式?

# date --d="@1223345333"

2008年 10月 07日 星期二 10:08:53 CST

使用Shell的字符串截断函数,区间【)前闭后开

# date -d yesterday '+%Y-%m-%d'

2014-10-29

# dt='2014-10-29'

# echo ${dt:8:10}

29

# echo ${dt:0:7}

2014-10

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值