You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用UNIX Date工具根据指定日期获取对应的星期缩写?

实现方案

GNU date 环境(绝大多数 Linux 发行版默认使用)

直接使用 -d 参数传入指定日期即可,不需要额外转换下划线分隔符,命令如下:

date -d "2021_11_06" '+%a'

如果遇到部分特殊发行版不识别下划线分隔的日期,可以先将下划线替换为横杠再传入:

date -d "$(echo "2021_11_06" | tr '_' '-')" '+%a'

执行后会直接输出 Sat,无额外引号或其他内容。

BSD date 环境(macOS、FreeBSD 等系统默认使用)

需要用 -f 参数指定输入日期的格式,-j 参数表示不修改系统时间仅做格式转换,命令如下:

date -j -f "%Y_%m_%d" "2021_11_06" "+%a"

执行后直接输出目标星期缩写。

跨环境通用脚本

如果需要兼容不同系统,可以使用如下脚本,调用时直接将目标日期作为第一个参数传入即可:

#!/bin/bash
input_date="$1"
# 判断当前系统的date工具类型
if date --version >/dev/null 2>&1; then
  # GNU date 逻辑
  date -d "$input_date" '+%a'
else
  # BSD date 逻辑
  date -j -f "%Y_%m_%d" "$input_date" "+%a"
fi

使用示例:

  1. 保存上述代码为 get_weekabbr.sh
  2. 赋予执行权限:chmod +x get_weekabbr.sh
  3. 执行查询:./get_weekabbr.sh 2021_11_06

内容的提问来源于stack exchange,提问作者user2654953

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 03:06:03