unix shell script to get date 30 minutes ago in GMT

datetime, scripting, shell, unix

Solution

date -u --date="-30 minutes"

Problem

I have a shell script that I want to get the date and time 30 minutes ago in GMT. I have this working great for full hours, but partial hours don't seem to work: 1 hour ago TZ=GMT+1 date +%Y-%m-%d" "%H:%M:%S 2010-01-08 17:43:57 2 hours ago TZ=GMT+2 date +%Y-%m-%d" "%H:%M:%S 2010-01-08 16:44:07 1/2 hour ago TZ=GMT+.5 date +%Y-%m-%d" "%H:%M:%S 2010-01-08 18:44:38 tried lots of combinations of 0.5 1.5, no partial hours seem to work, which is weird because there are some timezones that are not full offset of an hour. any suggestions? cant use perl or ruby needs to be regular shell or mysql call.

Original source