필터 지우기
필터 지우기

IF statement and time display

조회 수: 2 (최근 30일)
Hamza
Hamza 2012년 9월 26일
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

채택된 답변

Andrei Bobrov
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
Andrei Bobrov 2012년 9월 26일
Hi Hamza! Excuse me, I use year as function from the Financial Toolbox. Corrected.
Hamza
Hamza 2012년 9월 27일
편집: Hamza 2012년 9월 27일
Hey Andrei
It works great now...Thanks a lot!!
I have one last step to cover..can you help?
I will post another question for that.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Cell Arrays에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by