How to convert Universal time to Local time?
Afficher commentaires plus anciens
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 commentaires
Jeffrey Clark
le 26 Déc 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
le 27 Déc 2022
dt = datetime('now', 'TimeZone', 'local')
dt.TimeZone
dt.TimeZone = 'America/New_York'
dt.TimeZone = 'local'
Ara
le 28 Déc 2022
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!