在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中?如果我不清楚请告诉我。
答案 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