目前后台环境是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