I want to print a value[1 hour increment] like this for yesterday date in bash script. Please help Output like below.
FROM_DATE : 2018-04-23T000000Z TO_DATE : 2018-04-23T005959Z
FROM_DATE : 2018-04-23T010000Z TO_DATE : 2018-04-23T015959Z
FROM_DATE : 2018-04-23T020000Z TO_DATE : 2018-04-23T025959Z
My code: I'm able to fetch hour using below code. I can't able to do for minutes
start='date +%s'
FROM_DATE=$(date -d "1 day ago" +%Y-%m-%d"T"%H%M%S"Z")
for i in {0..23}
do
start='date +%s'
FROM_DATE=$FROM_DATE
TO_DATE=$(date +%Y-%m-%d"T"%H%M%S"Z" -d "1 day ago""$date + $i hour")
echo "FROM_DATE : $FROM_DATE"
echo "TO_DATE : $TO_DATE"
FROM_DATE=$TO_DATE
done
[Update Code] - Giving correct output, Please let me know for any optimization or modification -
start='date +%s'
FROM_DATE=$(date -d "1 day ago" +%Y-%m-%d"T"%H"0000""Z")
for i in {0..5}
do
echo "FROM_DATE : $FROM_DATE"
TO_DATE=$(date +%Y-%m-%d"T"%H"5959""Z" -d "1 day ago""$date + $i hour")
echo "TO_DATE : $TO_DATE"
FROM_DATE=$(date +%Y-%m-%d"T"%H"0000""Z" -d "1 day ago""$date + $i hour""$date + 1 hour")
done
Adding minutes works similarly to what you did with hours:
TO_DATE=$(date +%Y-%m-%d"T"%H%M%S"Z" -d "1 day ago""$date + $i minutes")
See also this question .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.