UTC 到 MATLAB 本地小时

Sau*_*lho 0 matlab utc hour

我有这个单元格数组:

    date_hour = '30/07/2012 00:00'
                '30/07/2012 01:00'
                '30/07/2012 02:00'
                '30/07/2012 03:00'
                '30/07/2012 04:00'
                '30/07/2012 05:00'
                '30/07/2012 06:00'
                '30/07/2012 07:00'
                '30/07/2012 08:00'
                '30/07/2012 09:00'
                '30/07/2012 10:00'
                '30/07/2012 11:00'
                '30/07/2012 12:00'
                '30/07/2012 13:00'
                '30/07/2012 14:00'
                '30/07/2012 15:00'
                '30/07/2012 16:00'
                '30/07/2012 17:00'
                '30/07/2012 18:00'
                '30/07/2012 19:00'
                '30/07/2012 20:00'
                '30/07/2012 22:00'
                '30/07/2012 21:00'
                '30/07/2012 23:00'
Run Code Online (Sandbox Code Playgroud)

小时以 UTC 给出。一旦本地时间为 -3,我如何转换为本地时间?

law*_*low 5

因为 matlab 日期格式是自 0000 年 1 月 1 日以来的天数,时间为十进制,所以您可以简单地从 matlab 日期格式中减去 3/24。

localDateNum = datenum(date_hour,'dd/mm/yyyy HH:MM') - 3/24;
Run Code Online (Sandbox Code Playgroud)

然后,如果需要,可以使用 datestr 将其转换回字符串。

date_hour_local = datestr(localDateNum,'dd/mm/yyyy HH:MM');
Run Code Online (Sandbox Code Playgroud)