IF statement and time display
2 次查看(过去 30 天)
显示 更早的评论
Dear All
I have a string which displays time and date taken from a txt file using:
str= datestr(datenum([yy mm dd HH MM SS]),0);
output yy =
96
96
96
97
98
99
00
01
I want it to be displayed as 1996 if it is before 2000 and 2000,2001,2002,..so on if after 2000.
Also the 'mm' format being displayed is like Jan,feb,.. can it be displayed as 01,02,03,..12? I couldn't find the proper formatting for it.
Current output example: str = 20-Dec-0003 22:47:39
Thanks
0 个评论
采纳的回答
Andrei Bobrov
2012-9-26
编辑:Andrei Bobrov
2012-9-26
x= {'96318.74847837'
'96319.62211352'
'96319.62351606'
'96319.62356237'
'96320.05952563'
'96320.49676119'} % initial array
a = str2double(x);
y = fix(a/1000);
ymdhms = datevec(datenum(y,0,a - y*1000)); % corrected
[yearnow,~] = datevec(now);
ymdhms(:,1) = (ymdhms(:,1) <= rem(yearnow,2000))*100 + 1900 + ymdhms(:,1);
out = datestr(ymdhms,'yyyy-mm-dd HH:MM:SS');
5 个评论
Andrei Bobrov
2012-9-26
Hi Hamza! Excuse me, I use year as function from the Financial Toolbox. Corrected.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!