我建议对返回的T_FMT使用特殊大小写,因为实际上没有太多要考虑的内容:
$ for l in $(locale -a | grep utf8); do locale | cut -d= -f1 | LANG=$l xargs locale -kc | grep ^t_fmt=; done | sort -u
t_fmt="%H:%M:%s"
t_fmt="%H.%M.%s"
t_fmt="%H? %M? %s?"
t_fmt="??????%H?????%M?????%s"
t_fmt="%H时%M分%s秒"
t_fmt="%H时%M分%s秒 %Z"
t_fmt="%H時%M分%s秒"
t_fmt="%I.%M.%s %p"
t_fmt="%I:%M:%s %Z"
t_fmt="%I:%M:%s %Z"
t_fmt="%I.%M.%s. %Z"
t_fmt="%I時%M分%s秒 %Z"
t_fmt="kl. %H.%M %z"
t_fmt="%k,%M,%s"
t_fmt="%k:%M:%s"
t_fmt="%l:%M:%s"
t_fmt="%OH:%OM:%OS"
t_fmt="%OI:%OM:%OS %p"
t_fmt="%p%I.%M.%s %Z"
t_fmt="%r"
t_fmt="%t"
t_fmt="%T"
t_fmt="%Z %I:%M:%s "