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

如何在Windows系统Git Bash提示符中去除datetime格式的前导零与空格

问题根因

Git Bash 依赖的 msys2 运行时的 strftime 实现不支持 - 前缀去前导零,%# 是微软原生 CRT 的语法,不会被 msys2 层识别,因此两种写法都会失效。

解决方案

绕开内置 \D 格式限制,用外部 date 命令配合 sed 实时处理日期格式,修改后配置同时兼容 Ubuntu 和 Git Bash 环境,不需要额外做系统判断。

完整可用配置

PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]'  # set window title
PS1="$PS1"'\n'                          # new line
PS1="$PS1"'\[\033[32m\]'                # change to green
# 下方为修改后的日期时间行,\$转义保证每次刷新提示符都会重新计算时间
PS1="$PS1""[\$(date +'%m/%d %l:%M:%S %P' | sed 's/^0*//; s/\/0*/\//; s/ 0*/ /g')] "
PS1="$PS1"'\[\033[33m\]'                # change to brownish yellow
PS1="$PS1"'\w'                          # current working directory

格式处理说明

sed 规则对应去除三类多余字符:

  • s/^0*// 移除月份开头的前导零
  • s/\/0*/\// 移除日期字段开头的前导零
  • s/ 0*/ /g 移除小时字段开头的前导零和多余空格

最终输出格式完全符合要求,示例:[5/9 1:23:07 pm],无多余前导零、无多余空格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:09:03