Добро пожаловать на SO.Matlab имеет два типа формата даты:
- datetime , представленный в 2014b.
- datenum , введенный давно (до2006b), это в основном значение двойной точности, дающее число дней с 0 января 0000.
Я думаю, что лучший способ - использовать дату и время, указав год, месяц, день,значения часов и минут, такие как:
t=datetime(1998,0,152,1,0,0)
t = '01 -May-1998 01: 00: 00 '
Как выможно увидеть, как дни автоматически перетекают в месяцы.Но я заканчиваю 1 мая, а не 1 июня, как в вашем примере.
для изменения формата:
t.Format='dd/MM/yyyy hh:mm'
t = '01 / 05/1998 01: 00 '
чтобы преобразовать его в строку, вы можете просто использовать string(t)
Это пример, который объединяет вышеупомянутые функции для чтения файла xlsx и записывает новую с обновленным столбцом.
data=xlsread('test.xlsx');
S = size(data);
t = datetime(data(:,2),0,data(:,3),data(:,4),data(:,5),0);
t.Format='dd/MM/yyyy HH:mm';
data2=num2cell(data(:,1));
data2(:,2)=cellstr(string(t));
data2(:,3:S(2)-3)=num2cell(data(:,6:end));
xlswrite('test2.xlsx',data2);