How to convert date by changine date format from text file?
2 次查看(过去 30 天)
显示 更早的评论
I'd like to convert date according to first three column as day-month-year hour:minute:second.
- A column: Year
- B column: Day of the year
- C column: Hour
I tried to do it, not achieving.
0 个评论
采纳的回答
Kojiro Saito
2019-6-25
编辑:Kojiro Saito
2019-6-26
Simply, you can utilize table's functioinalities.
t = readtable('test5.txt');
% Create datetime and display as "day-month-year hour:minute:second" format
dt = datetime([t.Var1 ones(height(t), 1) t.Var2 t.Var3 zeros(height(t), 1) zeros(height(t), 1)], 'Format', 'dd-MM-yyyy HH:mm:ss');
% Insert datetime variable to the table as "datestr" column
t.datestr = dt;
% Write a table as a file
writetable(t, 'output.txt')
UPDATED
Based on your comment, the following is what you want. removevars and movevars were introduced in R2018a.
t = readtable('test5.txt');
% Convert to datetime
dt = datetime([t.Var1 ones(height(t), 1) t.Var2 t.Var3 zeros(height(t), 1) zeros(height(t), 1)]);
% Insert datetime variables to original table
t.datestr = datetime(dt, 'Format', 'dd-MM-yyyy');
t.timestr = datetime(dt, 'Format', 'HH:mm:ss');
% Delete column 1 to 3
T2 = removevars(t, 1:3);
% Move datestr and timestr to the first and second columns
T2 = movevars(T2, {'datestr', 'timestr'}, 'Before',1);
% Write table as a tab separated file without headers
writetable(T2, 'output.txt', 'WriteVariableNames', false, 'Delimiter', 'tab')
2 个评论
更多回答(1 个)
Himanshu Rai
2019-6-25
Try this function, it accepts three vectors corresponding to year, day and hour
function Dt = conv(Year, Day, Hour)
Dt = datetime(Year, 1, 1) + Day - 1 + hours(Hour);
end
6 个评论
Himanshu Rai
2019-6-25
If you want to read data from the file, use this link - textscan. However note that this was not what was specified in your question. If you want something else please specify it clearly in your question.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!