脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页脚本专栏PowerShell→ Shell Date日期计算

Shell 中常用 Date 日期的计算

  更新时间:2023年06月22日 09:09:13  作者:天問 
这篇文章主要为大家介绍了Shell中常用Date日期的计算详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

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

Shell Date

一、Date 基础格式化

格式
输出
含义
date
2022年 11月 15日 星期二 19:10:21 CST
当前日期和时间
date +%Y
2022
date +%y
22
date +%m
11
date +%d
15
date +%D
11/15/22
当前日期
date +%Y%m%d
20221115
当前日期
date +%F
2022-11-15
当前日期
date +%H
19
date +%M
20
date +%S
30
date +%s
1668511253
时间戳
date +%T
19:21:26
时分秒
date +%H:%M:%S
19:21:26
时分秒
date +%w
2
今天是周二
date +%W
46
今年的第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日期计算的资料请关注脚本之家其它相关文章!

相关文章

  • 最新评论