在matlab中的日期

时间:2011-11-21 16:36:03

标签: matlab date

在matlab中,是否可以以任何方式执行以下操作: 使用

S = DATESTR(D, 31)

Number           String                Example 
31       'yyyy-mm-dd HH:MM:SS'    2000-03-01 15:45:17

matlab是否可以执行生成字符串的操作,该字符串以预定义的间隔在特定日期开始和结束。

例如,如果我在Excel中使用时间向量从2009-01-01 00:00:00开始并在2009-10-10 10:00:00结束并且每四分钟进行一次测量,那么是否可以将其输入到matlab中?如果我不清楚请告诉我。

2 个答案:

答案 0 :(得分:2)

为了生成一个在特定日期开始/结束的日期字符串数组,并且具有预定义的时间间隔,您可以这样做:

转换为数字日期格式,生成序列,然后转换回来。例如:

>> datestr(datenum(datevec('2000-03-01 15:45:17')) : 1: datenum(datevec('2000-03-10 15:45:17')))

ans =

01-Mar-2000 15:45:17
02-Mar-2000 15:45:17
03-Mar-2000 15:45:17
04-Mar-2000 15:45:17
05-Mar-2000 15:45:17
06-Mar-2000 15:45:17
07-Mar-2000 15:45:17
08-Mar-2000 15:45:17
09-Mar-2000 15:45:17
10-Mar-2000 15:45:17

答案 1 :(得分:2)

这可以满足您的需求吗?

>> dstart = datenum('2009-01-01 00:00:00', 'yyyy-mm-dd HH:MM:SS');
>> dend = datenum('2009-10-10 00:00:00', 'yyyy-mm-dd HH:MM:SS');
>> fourmins = 1/(24*60) *4;
>> dates = dstart:fourmins:dend;
>> datestrs = datestr(dates, 'yyyy-mm-dd HH:MM:SS');
>> datestrs([1,2,end-1,end],:)
ans =
2009-01-01 00:00:00
2009-01-01 00:04:00
2009-10-09 23:56:00
2009-10-10 00:00:00