读书人

AIX 计算前一小时时间【】

发布时间: 2012-02-07 17:45:37 作者: rapoo

【求助】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

读书人网 >其他服务器

热点推荐