在linux中展示本月最后一个周五的日期

写法一

在Linux中,你可以使用date命令结合shell脚本来计算并展示本月最后一个周五的日期。以下是一个简单的bash脚本示例,用于实现这个功能:

#!/bin/bash  
  
# 获取下个月的第一天  
next_month=$(date -d "next month" +%Y-%m-01)  
  
# 计算本月的最后一天  
last_day_of_month=$(date -d "$next_month - 1 day" +%Y-%m-%d)  
  
# 初始化一个变量来存储最后一个周五的日期  
last_friday=""  
  
# 从本月的最后一天开始向前遍历,直到找到周五为止  
day=$(date -d "$last_day_of_month" +%d)  
while [ "$day" -ge 1 ]; do  
    # 获取当前遍历的日期的星期几(1代表周一,7代表周日)  
    weekday=$(date -d "$last_day_of_month - $((day-1)) days" +%u)  
      
    # 如果当前日期是周五(weekday等于5),则将其赋值给last_friday并退出循环  
    if [ "$weekday" -eq 5 ]; then  
        last_friday=$(date -d "$last_day_of_month - $((day-1)) days" +%Y-%m-%d)  
        break  
    fi  
      
    # 减少天数继续循环  
    ((day--))  
done  
  
# 输出本月最后一个周五的日期  
echo "本月最后一个周五的日期是: $last_friday"

你可以将以上脚本保存到一个文件中,比如last_friday_of_month.sh,然后在终端中通过运行bash last_friday_of_month.sh来执行它。脚本会输出本月最后一个周五的日期。

请注意,这个脚本假设你的系统时区设置正确,并且你的date命令支持-d选项和+%u、+%Y-%m-%d等格式化选项。这些特性在GNU date中通常是可用的,但如果你使用的是BSD风格的date(例如在macOS中),你可能需要调整脚本中的命令来适应不同的语法。

写法二

#!/bin/bash  
  
# Get the first day of the next month  
next_month=$(date -d "next month" +%Y-%m-01)  
  
# Calculate the last day of the current month  
last_day_of_month=$(date -d "$next_month - 1 day" +%Y-%m-%d)  
  
# Find the last Friday of the current month  
last_friday=$(date -d "$last_day_of_month - $(date -d "$last_day_of_month" +%u) days +6 days" +%Y-%m-%d)  
  
echo "The last Friday of the month is: $last_friday"

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 17:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 17:36:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 17:36:03       82 阅读
  4. Python语言-面向对象

    2024-03-22 17:36:03       91 阅读

热门阅读

  1. 如何使用命令行查看服务器的核心数和内存大小

    2024-03-22 17:36:03       32 阅读
  2. WPF —— DataGrid数据网格

    2024-03-22 17:36:03       41 阅读
  3. 【统计学】独立同分布

    2024-03-22 17:36:03       28 阅读
  4. 工作中常用的git命令

    2024-03-22 17:36:03       35 阅读
  5. 后端开发辅助

    2024-03-22 17:36:03       41 阅读
  6. 【无人机综合考试题】

    2024-03-22 17:36:03       158 阅读
  7. 查找 Oracle 数据库中对象失效的原因和时间?

    2024-03-22 17:36:03       44 阅读
  8. 如何下载和安装 macOS

    2024-03-22 17:36:03       31 阅读
  9. 山东高新技术企业的审查流程

    2024-03-22 17:36:03       39 阅读
  10. python常见的异常类型

    2024-03-22 17:36:03       44 阅读