Solved

Convert GMT to EST or local time

Posted on 2006-06-28
8
21,770 Views
Last Modified: 2012-05-05
Is there an easy way to convert GMT to say eastern within a shell script?  Can someone provide an example?

thanks
0
Comment
Question by:jhughes4
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 
LVL 48

Expert Comment

by:Tintin
ID: 17013953
TZ=EST date
0
 

Author Comment

by:jhughes4
ID: 17013985
ok so within a shell script how would I conver say the GMT date of 14:09 to EST?

thanks
0
 
LVL 48

Expert Comment

by:Tintin
ID: 17014027
Do you have an existing date you want to convert, or just convert the current date?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:jhughes4
ID: 17014388
I'll be pulling the date from another application that could be current or several hours past.  The date is in a String format and I was wondering if I could take that String and pass it to something like date to have date convert it to EST or MTN, or whatever the system's time zone is.
0
 
LVL 48

Expert Comment

by:Tintin
ID: 17014415
Can you please give an example of the format?  Do you want to retain the same format for the converted date?
0
 

Author Comment

by:jhughes4
ID: 17014541
06292006:23:31:57:580
mmddyyyy:HH:MM:SS:MS

thanks again
0
 
LVL 48

Accepted Solution

by:
Tintin earned 500 total points
ID: 17014669
Assuming you have GNU date, and if you don't, you should get it as it is incredibly useful for all sorts of date calculations, you can do

#!/bin/sh
# Example to convert from GMT to EST
old_date='06292006:23:31:57:580'
fold_date=`echo $old_date|sed 's/\(..\)\(..\)\(....\):\(.*\):...$/\3\1\2 \4/'`  # Convert date to a sensible non-ambigious format
new_date=`TZ=EST date --date "$fold_date GMT" +%m%d%Y:%T`
echo $new_date

The above example looses the milliseconds, but it's easy enough to put them back on if required.
0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 17026140
do you expect dates from yesterday or tomorrow (seen from your current date)?
Do you expect dates more than +/-24 hours difference?
If so I highly recommend that you use perl with Date::Manip or one of the modules from http://datetime.perl.org/
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
how to check for shares on aix 1 111
Linux :how to provide sudo access to the user 13 126
UNIX SCP 5 96
Control Number of Log Files -Perl 7 101
This tech tip describes how to install the Solaris Operating System from a tape backup that was created using the Solaris flash archive utility. I have used this procedure on the Solaris 8 and 9 OS, and it shoudl also work well on the Solaris 10 rel…
FreeBSD on EC2 FreeBSD (https://www.freebsd.org) is a robust Unix-like operating system that has been around for many years. FreeBSD is available on Amazon EC2 through Amazon Machine Images (AMIs) provided by FreeBSD developer and security office…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Suggested Courses

737 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question