How to convert Universal time to Local time?
Show older comments
Dear All,
I am trying to convert Universal time to local time. I used this function
% Convert time values to datetime array
timeDatetime = datetime(selectedData(:,3)./3600, 'ConvertFrom', 'epochtime', 'Epoch', '1970-01-01');
% Apply time zone offset to datetime array
timeLocal = tzoffset(timeDatetime, 'EST','5');
but I got an error " Too Many input arguments".
Does anyone knows how to resoolve it?
Thank you,
Ara
4 Comments
Jeffrey Clark
on 26 Dec 2022
@Ara, tzoffset only takes one input. You should be able to "convert" timeDatetime to EST by just setting its TimeZone attribute to 'America/New_York' (if you want EST/EDT otherwise Etc/GMT+5 ) before referencing the data from it, as in the following. Note that the timeDatetime creation will assume your local TimeZone and therefore the setting of TimeZone to somthing that is the same will result in the same values being reported (e.g., selectedData(:,3)./3600 will be assumed to be in your local time so you would probably want to set it in the datetime call as indicated.)
% Convert time values to datetime array
timeDatetime = datetime(selectedData(:,3)./3600 ...
,'ConvertFrom', 'epochtime', 'Epoch', '1970-01-01' ...
,'TimeZone','Etc/UTC')
% Apply time zone offset to datetime array
timeDatetime.TimeZone = 'America/New_York'
Ara
on 27 Dec 2022
dt = datetime('now', 'TimeZone', 'local')
dt.TimeZone
dt.TimeZone = 'America/New_York'
dt.TimeZone = 'local'
Ara
on 28 Dec 2022
Accepted Answer
More Answers (0)
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!