我需要帮助。
我有海洋模型输出时间,如下所示我的第一个索引对应于2015年8月1日03:00至2015年11月30日(总时间为952x1大小,其中它是3小时记录)
给我的结构是
timeCounter =
time_origin: 'seconds since 1950-01-01 00:00:00'
timeSec: [952x1 double]
我将变量设为某个t = timeCounter。这是一个952x1数组。问题是,当我使用datestr(t(1:3))时,我得到以下结果
datestr(t(1:3))
ans =
31-Aug-7181
27-Mar-7211
20-Oct-7240
我如何看待第一个索引,因为它是2015年8月1日03:00对应的索引,下一个索引是+3小时,以此类推,直到11月30日,总共(952*3/24 = 119天)。
您可以使用datetime对象并向其添加秒数。
datetime([1950 1 1 00 00 00])
ans =
01-Jan-1950 00:00:00
通过直接在matlab中添加秒数(通过您已经创建的时间变量),您可以获得正常格式的时间。
>> datetime([1950 1 1 00 00 00])+seconds(5e8)
ans =
05-Nov-1965 00:53:20
在你的例子中,seconds(5e8)将被seconds(t(1))等所取代。
如果你想要花哨的格式,你可以使用datetime格式选项和格式来改变输出的样子。
>> datetime([1950 1 1 00 00 00],'Format','MMM-dd-yyyy HH:mm')+seconds(5e8)
ans =
Nov-05-1965 00:53
日期时间格式的完整列表可以在这里找到