日期转换 DD-MMM-YY 到 YYYYMMDD

标签 date ksh aix

如何将 DD-MMM-YY 转换为 YYYYMMDD

我在 AIX 中,使用 korn shell。

date --datedate -d 在 aix 中都不起作用。

最佳答案

纯 ksh:

convert_date () {
  typeset -l date=$1
  typeset IFS="-"
  set -- $date  # now $1 is the day, $2 is the lower-case month, $3 is the year

  typeset months
  set -A months "" jan feb mar apr may jun jul aug sep oct nov dec
  typeset -i m=1

  while [[ $m -le 12 ]]; do 
    if [[ "$2" = "${months[$m]}" ]]; then 
      break
    else
      m=$(( m+1 ))
    fi
  done

  # assume this century
  printf "20%02d%02d%02d\n" "$3" $m "$1"
}

convert_date 06-JUL-11   # ==> 20110706

关于日期转换 DD-MMM-YY 到 YYYYMMDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580731/

相关文章:

java - 如何使用 TimePicker 获取今天的日期/时间?

javascript - 找出两个日期之间的差异

linux - 如何检查变量是否包含有效的 ip 地址

linux - 如何从 AIX、SunOS、Linux 和 HP-UX 中的 tnsping 输出中提取版本

ksh - 如何在期望脚本中刷新输入缓冲区?

c++ - 在 Ubuntu 上为 AIX 编译 C++ 代码?

JavaScript:以 mm/dd/yyyy 格式拆分和连接日期

iphone - 如何从 UILocalNotification 对象获取下一个触发日期

regex - 替换文件中的\n\t 模式

linux - 如何检查 SFTP session 是否已成功验证