我是这个领域的新学习者。我想从 date_time 中减去几秒。我使用这段代码来提取数据,然后减去秒数。但我无法将此输出保存到变量中。
你能帮我保存这个吗?
for stnm in H33
do
cd $stnm
for file in $input_dir/$stnm/2018/350.hyd
echo $file
do
dat=`saclst kzdate f $file | awk '{print substr($2,1,10)}'`
time=`saclst kztime f $file| awk '{print substr($2,1,11)}'`
echo $dat $time "############################"
# new_time= date -d "$(date -Iseconds -d "$dat $time" ) - 2 minutes - 0.05 seconds"
new_time= date -d " $dat $time Z - 2 minutes - 0.05 seconds" +%Y/%m/%d_%H:%M:%S |
awk '{print substr($1,1,24)}'
echo $dat $time $new_time "####################"
done
done
输出
/NAS2/Abbas/TS14_OBS/H33/2018/350.hyd
2018/12/16 00:00:00.00 ############################
2018/12/15_23:57:59
2018/12/16 00:00:00.00 ####################
答案1
有用:
new_time=`date -d "$(date -Iseconds -d "$dat $time") - 2 minutes - 0.05 seconds" +%Y/%m/%dT%H:%M:%S`
答案2
您也可以使用下面的方法及其工作原理
new_time=$(date -d "$(date -Iseconds -d "$dat $time") - 2 minutes - 0.05 seconds" +%Y/%m/%dT%H:%M:%S)