我需要从数组中减少3个小时并再次在命令行中打印
数组的输出是:
12:29:14
14:10:26
14:30:34
14:35:31
14:35:10
11:57:03
12:49:31
12:57:09
11:04:49
13:06:57
14:35:34
14:30:49
14:34:28
12:58:02
14:28:12
12:29:18
11:33:23
12:27:04
14:35:43
12:58:46
我正在尝试这条线,但没有用。
date2=$(date -d "${array[@]}" "3 hour ago" +"%H:%M:%S")
你能帮我解决一下吗?
答案 0 :(得分:1)
试试这个;
#!/bin/bash
times=( "12:29:14" "14:10:26" "14:30:34" "14:35:31" "14:35:10" "11:57:03" "12:49:31" "12:57:09" "11:04:49" "13:06:57" "14:35:34" "14:30:49" "14:34:28" "12:58:02" "14:28:12" "12:29:18" "11:33:23" "12:27:04" "14:35:43" "12:58:46")
for dateItem in ${times[@]}
do
date2=$(date --date="$dateItem 3 hour ago" +%H:%M:%S)
echo $date2
done
答案 1 :(得分:0)
嗨,在做了一些改变后,它的工作正常,
如果你希望没有阵列的话 这是:
date2=$(date -d "$times 3 hour ago" +"%H:%M:%S")
echo $date2