Clear Filters
Clear Filters

how can I convert EST time to GMt time?

9 views (last 30 days)
Riyadh Muttaleb
Riyadh Muttaleb on 26 Feb 2018
Commented: Meade on 1 Mar 2018
I have series of datevec (about 1000) in EST time zone that I would like to convert them to GMT, any help,
Thanks in advance,
Riyadh

Answers (2)

Meade
Meade on 26 Feb 2018
Try using the 'TimeZone' property in the datetime function to re-interpret the input time in a new time zone.
Best,
  1 Comment
Riyadh Muttaleb
Riyadh Muttaleb on 26 Feb 2018
Thank you for your response, I have matrix of time (series) not one value

Sign in to comment.


Peter Perkins
Peter Perkins on 28 Feb 2018
Unless you are using a version of MATLAB prior to R2014b, you probably should not be using datevecs. Convert them to datetimes.
>> dv = [2018,2,28,9,16,34; 2018,2,28,9,16,49;2018,2,28,9,17,04]
dv =
2018 2 28 9 16 34
2018 2 28 9 16 49
2018 2 28 9 17 4
>> dt = datetime(dv,'TimeZone','America/New_York','Format','dd-MMM-uuuu HH:mm:ss z')
dt =
3×1 datetime array
28-Feb-2018 09:16:34 EST
28-Feb-2018 09:16:49 EST
28-Feb-2018 09:17:04 EST
>> dt.TimeZone = 'UTC'
dt =
3×1 datetime array
28-Feb-2018 14:16:34 UTC
28-Feb-2018 14:16:49 UTC
28-Feb-2018 14:17:04 UTC
  3 Comments
Peter Perkins
Peter Perkins on 1 Mar 2018
datetime does recognize some common formats. One of the problems with datenum/datestr/datevec was that they guess too much and sometimes get it wrong, silently.
Most common example is 01/02/2018. Because that's so common, datetime has some logic for that case based on your locale are and whether you also have, for example, 01/15/2018. So for me, in the US, it guesses month/day:
>> datetime('01/02/2018')
Warning: Successfully converted the text to datetime using the format 'MM/dd/uuuu', but the format is ambiguous and
could also be 'dd/MM/uuuu'. To create datetimes from text with a specific format call:
datetime(textinput,'InputFormat',infmt)
> In guessFormat (line 66)
In datetime (line 631)
ans =
datetime
02-Jan-2018
But this case is unambiguous:
>> datetime({'01/02/2018' '01/15/2018'})
ans =
1×2 datetime array
02-Jan-2018 15-Jan-2018
Meade
Meade on 1 Mar 2018
Thanks for the extra detail, I'll keep datetime in mind as I revamp processes.
I work with lots of data downstream of a workflow that doesn't adhere rigorously to a single format (e.g. ISO-8601) and in turn, I'll (cautiously) take all the help I can get.

Sign in to comment.

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!