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

如何在Bash中转换Date变量的日期显示格式

问题解决方案

你的代码存在两个可修正的问题:

  • + 与格式字符串之间多余的空格:date 命令要求格式标识 + 和后续格式串之间不能有空格,空格会被判定为无效参数导致命令执行失败
  • 变量未包裹双引号:${date_export} 没有用双引号包裹,当变量值包含特殊字符或空格时会出现解析错误

修正后的GNU/Linux环境可用命令

DATE_EXPORT=$(date -d "${date_export}" +'%Y%m%d')

更高效的纯Shell字符串替换方案(跨环境通用,不需要调用外部date命令)

直接移除变量中所有的 - 字符即可,执行效率更高:

DATE_EXPORT=${date_export//-/}

macOS/BSD环境适配方案

如果你的运行环境是macOS,系统默认的BSD版date命令不支持-d参数,需要使用以下命令:

DATE_EXPORT=$(date -j -f "%Y-%m-%d" "${date_export}" +"%Y%m%d")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:45:07