UTC到MATLAB中的本地小时

UTC到MATLAB中的本地小时,matlab,utc,hour,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

我有一个电池阵列:

    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'

小时以UTC表示。一旦当地时间为-3,如何转换为当地时间?

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

localDateNum = datenum(date_hour,'dd/mm/yyyy HH:MM') - 3/24;
然后,如果需要使用datestr,可以将其转换回字符串

date_hour_local = datestr(localDateNum,'dd/mm/yyyy HH:MM');

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

localDateNum = datenum(date_hour,'dd/mm/yyyy HH:MM') - 3/24;
然后,如果需要使用datestr,可以将其转换回字符串

date_hour_local = datestr(localDateNum,'dd/mm/yyyy HH:MM');

为了让您了解另一种解决方案,您可以使用MATLAB
addtodate
-函数:

date_local_num = addtodate(datenum(date_hour,'dd/mm/yyyy HH:MM'),-3,'hour');
date_local = datestr(date_local_num,'dd/mm/yyyy HH:MM');
有关更多信息,请参阅文档:


为了让您了解另一种解决方案,您可以使用MATLAB
addtodate
-函数:

date_local_num = addtodate(datenum(date_hour,'dd/mm/yyyy HH:MM'),-3,'hour');
date_local = datestr(date_local_num,'dd/mm/yyyy HH:MM');
有关更多信息,请参阅文档: