当前位置: 代码网 > it编程>前端脚本>Powershell > Shell 中常用 Date 日期的计算

Shell 中常用 Date 日期的计算

2024年05月15日 Powershell 我要评论
正文在使用 crontab 定时任务和 shell 脚本切割 nginx 日志文件时,要用到时间戳、当月、上月、下月、上月初、上月末、下月初、下月末等等,其中有些日期不能直接获取,需要经过一定的计算才

正文

在使用 crontab 定时任务和 shell 脚本切割 nginx 日志文件时,要用到时间戳、当月、上月、下月、上月初、上月末、下月初、下月末等等,其中有些日期不能直接获取,需要经过一定的计算才能得到。

shell date

一、date 基础格式化

格式输出含义
date2022年 11月 15日 星期二 19:10:21 cst当前日期和时间
date +%y2022
date +%y22
date +%m11
date +%d15
date +%d11/15/22当前日期
date +%y%m%d20221115当前日期
date +%f2022-11-15当前日期
date +%h19
date +%m20
date +%s30
date +%s1668511253时间戳
date +%t19:21:26时分秒
date +%h:%m:%s19:21:26时分秒
date +%w2今天是周二
date +%w46今年的第46周
cal(当月日历)当月日历

二、date 日期计算

当前日期:2022-11-15

  • 前一天
date -d "-1 day"
# 2022年 11月 14日 星期一 19:34:01 cst
date -d "-1 day" +%f
# 2022-11-14
date -d "last day" +%f
# 2022-11-14
  • 前三天
date -d "-3 day" +%f
# 2022-11-12
  • 后一天
date -d "1 day" +%f
# 2022-11-16
date -d "next day" +%f
# 2022-11-16
  • 上一月
date -d "-1 month" +%f
# 2022-10-15
date -d "last month" +%y%m
# 202210
  • 下一月
date -d "1 month" +%f
# 2022-12-15
date -d "next month" +%y-%m
# 2022-12
  • 上一年
date -d "-1 years" +%f
# 2021-11-15
date -d "last year" +%y%m
# 202111
  • 时间戳转日期
date -d @1621563928
# 2021年 05月 21日 星期五 10:25:28 cst
  • 日期转时间戳
date +%s -d "2022-10-21 10:38:48"
# 1666319928
  • 当月末日期和当月天数:先获取下个月第一天,减去一天
nextmonthstart=`date -d "${date} +1 month" "+%y%m01"`
currmonthend=`date -d "${nextmonthstart} -1 day" "+%f"`
currmonthdays=`date -d "${nextmonthstart} -1 day" "+%d"`
echo $currmonthend
# 2022-11-30
echo currmonthdays
# 30

以上就是shell 中常用 date 日期的计算的详细内容,更多关于shell date日期计算的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com