【问题标题】:Convert Date format in Unix (AIX)在 Unix (AIX) 中转换日期格式
【发布时间】:2014-07-17 14:25:54
【问题描述】:

我有一个字符串,其中包含以下格式的日期:

1992 年 5 月 13 日星期三 13:57:00

我需要将其转换成如下格式的字符串:yyyyMMddHHmmss

是否有任何 bultin 函数可以做到这一点?

附: 我需要它在 AIX 6.1 上工作

【问题讨论】:

    标签: unix timestamp aix type-conversion


    【解决方案1】:

    这是一个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 步骤那么简单...

    【讨论】:

      猜你喜欢
      • 2017-08-11
      • 1970-01-01
      • 2019-08-21
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多