当前位置: 代码迷 >> AIX >> AIX 计算前一小时时间【】
  详细解决方案

AIX 计算前一小时时间【】

热度:8611   发布时间:2013-02-26 00:00:00.0
【求助】AIX 计算前一小时时间【在线等】
目前后台环境是AIX 

想求出前一个小时的时间,比如当前为 2010122812 ,求出结果应为2010122811

请问用shell如何实现

从网上找了个脚本在SUSE下可以实现
date -d '1970-01-01 UTC '$1' seconds' +"%Y-%m-%d %T" ($1为当前时间的时间戳减去3600)

在AIX下没有 -d这种用法

请问在AIX下该如何实现,多谢

------解决方案--------------------------------------------------------
试试在一行输入
TZ=TZ-7 date

不行的话,调整7那个数字看看
------解决方案--------------------------------------------------------
-d参数是GNU特有的,如果不限于shell解决的话,写个简单的C也不难

C/C++ code
#include <stdio.h>#include <time.h>int main(void){    time_t     now;    struct tm  ts;    char       buf[80];    // Get current time    time(&now);    now -= 3600;    ts = *localtime(&now);    strftime(buf, sizeof(buf), "%Y%m%d%H", &ts);    printf("%s\n", buf);    return 0;}
------解决方案--------------------------------------------------------
last=`TZ=$TZ+12 date +%Y/%m/%d-%H:%M:%S`
echo $last
  相关解决方案