changing the time zone for two datetime objects then comparing them

2 views (last 30 days)
MA
MA on 7 Nov 2021
Answered: Chris on 7 Nov 2021
How can I modify the following lines so that, the datetime objects for the tables t and D are converted to 'Asia/Dubai' time zone then compared as desired. given that they are in 'UTC' timing.
I know how to change the timezone for datetime objects using .timezone, but although it might be quite simple, I don't seem to be able to do the comparison after that.
t= readtable('outputfile.txt');
%****************************************************************************
%reading the date and time
t.Date = datetime(t.YEAR, t.MONTH, t.DAY, t.HOUR, t.MIN, 0,'Format', 'uuuuMMddHHmm');
t.Date3 = datetime(t.YEAR, 0, t.DAY, t.HOUR, 0, 0,'Format', 'uuuuMMddHHmm');
%****************************************************************************************************************
D=readtable("DST.txt");
D.date = datetime(D.YEAR , 0, D.DOY ,D.HR,0, 0,'Format', 'uuuuMMddHHmm');
[Lia, Locb] = ismember(t.Date3, D.date);
indx = Locb(Locb > 0);
t.DST(Lia) = D.DST(indx);

Answers (2)

Star Strider
Star Strider on 7 Nov 2021
See the datetime assiciated documentation section on Specify Time Zones.
.

Chris
Chris on 7 Nov 2021
t.Date3.TimeZone = 'Asia/Dubai';
d.date.TimeZone = 'Asia/Dubai';
Works for me.

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by