如何在 MATLAB 中将四列分别转换为日期格式?
How to convert respectively four column to date formatting at MATLAB?
Excel 文件(104976x10) 包含大量数据。
- A栏:时间(单位年份)
- B 列:年份
- C 列:一年中的第几天
- D 列:小时
- E 栏:分钟
- 和其他包括值
我想将以 B 列开始直到 E 列的列转换为日期格式,如 'dd/mm/yyyy HH:MM'。
数据示例:
1998,41655251 1998 152 1 0 12,5 12,0 11,8 11,9 12,0
我想做日期而不是第 2、3、4 和 5 列。
1998,41655251 01/06/1998 01:00 12,5 12,0 11,8 11,9 12,0
或
1998,41655251 01/06/1998 01:00 1998 152 1 0 12,5 12,0 11,8 11,9 12,0
欢迎来到 SO。
Matlab 有两种类型的日期格式:
我认为最好的方法是使用日期时间,并像这样给它年、月、日、小时和分钟值:
t=datetime(1998,0,152,1,0,0)
t= '01-May-1998 01:00:00'
如您所见,天数自动溢出到月数中。但我在 5 月 1 日结束,而不是像您的示例中那样在 6 月 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);
Excel 文件(104976x10) 包含大量数据。
- A栏:时间(单位年份)
- B 列:年份
- C 列:一年中的第几天
- D 列:小时
- E 栏:分钟
- 和其他包括值
我想将以 B 列开始直到 E 列的列转换为日期格式,如 'dd/mm/yyyy HH:MM'。
数据示例:
1998,41655251 1998 152 1 0 12,5 12,0 11,8 11,9 12,0
我想做日期而不是第 2、3、4 和 5 列。
1998,41655251 01/06/1998 01:00 12,5 12,0 11,8 11,9 12,0
或
1998,41655251 01/06/1998 01:00 1998 152 1 0 12,5 12,0 11,8 11,9 12,0
欢迎来到 SO。 Matlab 有两种类型的日期格式:
我认为最好的方法是使用日期时间,并像这样给它年、月、日、小时和分钟值:
t=datetime(1998,0,152,1,0,0)
t= '01-May-1998 01:00:00'
如您所见,天数自动溢出到月数中。但我在 5 月 1 日结束,而不是像您的示例中那样在 6 月 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);