【发布时间】:2014-07-17 14:25:54
【问题描述】:
我有一个字符串,其中包含以下格式的日期:
1992 年 5 月 13 日星期三 13:57:00
我需要将其转换成如下格式的字符串:yyyyMMddHHmmss
是否有任何 bultin 函数可以做到这一点?
附: 我需要它在 AIX 6.1 上工作
【问题讨论】:
标签: unix timestamp aix type-conversion
我有一个字符串,其中包含以下格式的日期:
1992 年 5 月 13 日星期三 13:57:00
我需要将其转换成如下格式的字符串:yyyyMMddHHmmss
是否有任何 bultin 函数可以做到这一点?
附: 我需要它在 AIX 6.1 上工作
【问题讨论】:
标签: unix timestamp aix type-conversion
这是一个awk 解决方案,应该足够便携(为了便于阅读而格式化):
echo "Wed May 13 13:57:00 1992" | tr ':' ' ' | \
awk 'BEGIN { months["Jan"] = "01"
months["Feb"] = "02"
.....
months["Dec"] = "12"
}
{ printf "%s%s%s%s%s%s\n", $7, months[$2], $3, $4, $5, $6 }'
不过,我会将awk 程序代码放在一个文件中,因此我只需键入一次,然后我可以改为使用awk -f convert_date_format.awk...
tr 位并不是真正需要的 - 可以在 awk 中完成替换冒号(或只是拆分它们周围的时间字段),但这并不像添加 tr 步骤那么简单...
【讨论】: