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

如何用Shell脚本格式化日期字符串?日期转换命令失效求助

解决date命令转换日期格式的问题

你的原命令存在两个关键错误:

  • -d后的日期字符串与格式参数+...之间缺少空格,导致Shell无法正确解析参数
  • 目标格式需要带斜杠分隔符,但你使用的是无分隔的%Y%m%d

基础转换(匹配原日期的4月)

如果是要将原日期转换为2024/04/27格式,正确命令如下:

date -d "Sat Apr 27 11:33:57 CST 2024" +"%Y/%m/%d"

若需将月份改为9月(如业务需求)

如果确实需要输出2024/09/27(原日期为4月,此处属于月份替换),可以拆分提取后拼接:

# 提取年份和日部分
year=$(date -d "Sat Apr 27 11:33:57 CST 2024" +"%Y")
day=$(date -d "Sat Apr 27 11:33:57 CST 2024" +"%d")
# 拼接成目标格式
echo "${year}/09/${day}"

命令说明

  • -d:指定要解析的输入日期字符串,必须与后续格式参数用空格分隔
  • %Y:代表4位年份,%m:代表2位月份,%d:代表2位日期,通过/分隔即可得到目标格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:59:55