AIX将yyyymmdd转换为mmm dd

时间:2015-09-15 07:12:57

标签: date aix

我正在寻找一种方法在AIX上将“yyyymmdd”转换为“mmm dd”格式 - 例如,20150915应该变为sep 15

我知道这可以用GNU日期date --date="yyyymmdd" +'%b %d'来完成,但这在我的环境中不可用。

如何在AIX上执行此转换?

编辑:感谢您的建议,我最终编写了一个像下面这样有效的脚本

echo“在dd MON yy中输入日期,如”2015年9月12日“2015年9月12日”

阅读日期月份

案例$月

“JAN”)mm = 01 ;;

“FEB”)mm = 02 ;;

“MAR”)mm = 03 ;;

“APR”)mm = 04 ;;

“MAY”)mm = 05 ;;

“JUN”)mm = 06 ;;

“JUL”)mm = 07 ;;

“AUG”)mm = 08 ;;

“SEP”)mm = 09 ;;

“OCT”)mm = 10 ;;

“NOV”)mm = 11 ;;

“DEC”)mm = 12 ;;

*)echo“请提供适当的参数”

   exit ;;

ESAC

date_conversion = echo "20"${year}${mm}$date

2 个答案:

答案 0 :(得分:1)

如果你没有GNU日期,你可能想制作一个类似的脚本:

#!/bin/bash
# convertDate.sh
date=$1
month=${date:4:2}
day=${date:6:2}
case $month in
   "01")
      echo "jan $day"
      ;;
   [...fill this in...]
   "09")
      echo "sep $day"
      ;;
esac

然后你可以这样称呼它:

$ myDate=$(convertDate 20150915)
$ echo $myDate
sep 15
$

答案 1 :(得分:1)

您可以从安装GNU date命令的AIX Toolbox安装coreutils。 你可以在这里找到它:http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html

# /opt/freeware/bin/date --date="2016-07-20" +'%b %d'
Jul 20