Joelio
Joelio

Reputation: 4691

unix shell script to get date 30 minutes ago in GMT

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.

Upvotes: 8

Views: 26534

Answers (3)

Dennis Williamson
Dennis Williamson

Reputation: 360515

You can also do this:

TZ='UTC+0:30' date

Upvotes: 10

Noufal Ibrahim
Noufal Ibrahim

Reputation: 72815

 /usr/bin/env TZ='GMT' date -d '-30 minutes'

This is with the version of the date command that's part of the GNU coreutils. I don't know if it works for other versions of the date program.

Upvotes: 1

malonso
malonso

Reputation: 2295

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

Upvotes: 20

Related Questions