MATLAB: How to convert data in UTC to a specific local time

time series

I have a one-year hourly data in UTC time. How do I convert the data to a specific local time say for example -5 UTC.

Best Answer

UTC-5 is likely NOT your local time zone, since most locales shift for daylight saving. That's a detail many people forget.
You may be starting from timestamps in the form of text. If you use datetime, converting from UTC to local time is as easy as setting the TimeZone property, and datetime automatically accounts for daylight saving changes:
>> d = datetime({'25-Feb-2016 13:20:44' '25-Aug-2016 13:20:44'},'TimeZone','UTC')
d =
25-Feb-2016 13:20:44 25-Aug-2016 13:20:44
>> d.TimeZone = 'America/New_York'
d =
25-Feb-2016 08:20:44 25-Aug-2016 09:20:44