Go from Local Time to UTC with respect to the dates I have!
조회 수: 16 (최근 30일)
이전 댓글 표시
Hi guys, I need your expertise on that.
I have a column with dates and time (see attached) which is in Local Time Zone (Europe/Athens) and I want to convert it to UTC. I know this is pretty straight forward but the problem lies here:
If you notice on the attached .xlsx, arrows between 25103 and 25104 are missing the date 29-Mar-2015 03:00:00. That is because the weather station was using Daylight Saving Time for the entire year (UTC+0300), and I tried to change that and keep UTC+0200 for wintertime. Therefore I missed 29-Mar-2015 04.00 (which was the time that Greece changed from UTC+0200 to UTC+0300) and I have a double entry for 25-Oct-2015 03.00 ( (which was the time that Greece changed from UTC+0300 to UTC+0200).
When I try to go from LT to UTC with
LT.TimeZone = 'UTC';
I am losing information about the two errorous dates I mentioned (29-Mar-2015 03:00:00 and 25-Oct-2015 03.00). Which means that I am creating a column with all dates starting from 31/12/2014 21.00 to 31/12/2015 22.00.
Is there a solution to my problem? I would appreciate your thoughts...
댓글 수: 0
채택된 답변
Star Strider
2020년 3월 16일
The data in your Excel file need a bit of preprocessing, then the conversion is straightforward:
D = readtable('Date-Time.xlsx','ReadVariableNames',0);
D.Var1 = datetime(strrep(D.Var1, '''', ''), 'TimeZone','Europe/Athens');
then to do the conversion:
Original = D.Var1(1:5,:) % Information Only (Delete)
D.Var1.TimeZone = 'UTC';
New = D.Var1(1:5,:) % Information Only (Delete)
producing:
Original =
5×1 datetime array
31-Dec-2014 23:00:00
31-Dec-2014 23:00:00
31-Dec-2014 23:00:00
31-Dec-2014 23:00:00
31-Dec-2014 23:00:00
New =
5×1 datetime array
31-Dec-2014 21:00:00
31-Dec-2014 21:00:00
31-Dec-2014 21:00:00
31-Dec-2014 21:00:00
31-Dec-2014 21:00:00
댓글 수: 7
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Dates and Time에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!