Linux 命令取当前日期和当前周几

一、一行同时获取日期 + 星期几

最常用组合(年月日 + 星期数字)

date +"%Y-%m-%d %w"
# 输出示例:2026-08-12 3

完整格式(年月日时分秒 + 星期全称)

date +"%Y-%m-%d %H:%M:%S %A"
# 输出示例:2026-08-12 14:30:00 Wednesday
 

二、当前日期的常用格式

命令输出示例说明
date +%Y-%m-%d 2026-08-12 标准横杠分隔年月日
date +%Y%m%d 20260812 纯数字年月日,常用于日志、备份文件名
date +"%Y-%m-%d %H:%M:%S" 2026-08-12 14:30:00 完整时间戳
date +%Y%m%d_%H%M%S 20260812_143000 无特殊字符,适合文件名拼接

三、当前星期几的几种格式

1. 数字格式(脚本逻辑判断首选)

  • date +%w:0=周日,1~6=周一到周六
     
    你之前判断周日的场景就是用这个格式,适合条件分支判断。
  • date +%u:1=周一,7=周日
     
    符合国内 “周一为一周第一天” 的习惯,工作日统计更方便。

2. 英文格式

  • date +%a:简写,输出 Sun/Mon/Tue...
  • date +%A:全称,输出 Sunday/Monday...

3. 中文星期

输出中文取决于系统语言环境 LANG:
# 强制中文输出
LANG=zh_CN.UTF-8 date +%A
# 输出示例:星期三

四、Shell 脚本中变量赋值示例

#!/bin/bash
# 分开赋值
today=$(date +%Y-%m-%d)
week_num=$(date +%w)

echo "今日日期:$today"
echo "星期数字:$week_num"

# 衔接你之前的周日判断逻辑
if [ "$week_num" -eq 0 ]; then
    echo "今天是周日"
else
    echo "今天不是周日"
fi
posted @ 2026-08-13 08:36  如烟大帝  阅读(64)  评论(0)    收藏  举报