在Solaris中将“Thu Sep 22 3:50 2016”转换为“2016-09-22”,没有GNU日期

时间:2016-09-23 08:30:14

标签: date solaris

有人可以建议通过shell脚本在Solaris中将“Thu Sep 22 3:50 2016”转换为“2016-09-22”的简单方法吗?

我没有在Solaris上提供GNU日期,如下面的帖子所述: Convert date String to number on Solaris shell script gives No such file or directory

我需要查询一个sql server db,其中日期以“2016-09-06”格式保存,因此我需要转换它

2 个答案:

答案 0 :(得分:1)

实际上,你有GNU日期可用,但无论如何这是通过脚本实现这一目的的一种方法:

EditText

输出:

#!/bin/ksh
a="Thu Sep 22 3:50 2016"
echo $a | nawk '
BEGIN {
  m=1
  m2m["Jan"]=m++;
  m2m["Feb"]=m++;
  m2m["Mar"]=m++;
  m2m["Apr"]=m++;
  m2m["May"]=m++;
  m2m["Jun"]=m++;
  m2m["Jul"]=m++;
  m2m["Aug"]=m++;
  m2m["Sep"]=m++;
  m2m["Oct"]=m++;
  m2m["Nov"]=m++;
  m2m["Dec"]=m++;
}
{
  printf("%s-%02d-%02d\n",$5,m2m[$2],$3)
}'

答案 1 :(得分:0)

为什么不使用Oracle的sysdate?

从your_table中选择*,其中saved_date> = to_char(sysdate,'yyyy-MM-dd')

相关问题