How to convert Universal time to Local time?
Ältere Kommentare anzeigen
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 Kommentare
Jeffrey Clark
am 26 Dez. 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
am 27 Dez. 2022
dt = datetime('now', 'TimeZone', 'local')
dt.TimeZone
dt.TimeZone = 'America/New_York'
dt.TimeZone = 'local'
Ara
am 28 Dez. 2022
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!