필터 지우기
필터 지우기

How to use datestr(now)

조회 수: 5 (최근 30일)
Íris
Íris 2014년 9월 29일
답변: Thorsten 2014년 10월 1일
How do I change how the date is written when I use datestr?
It displays 29-Sep-2014 but I want it to say 29.september year 2014
?

채택된 답변

José-Luis
José-Luis 2014년 9월 29일
편집: José-Luis 2014년 9월 29일
vec = datevec(now);
month_list = {'January' 'February' 'March' 'April' 'May' 'June' ...
'July' 'August' 'September' 'October' 'November' 'December'};
your_string = sprintf('%i.%s year %i',vec(3),month_list{vec(2)}, vec(1))
Please accept the answer that best solves your problem.

추가 답변 (2개)

Azzi Abdelmalek
Azzi Abdelmalek 2014년 9월 29일
strrep(datestr(now,'dd.mmmm _ yyyy'),'_','year')
  댓글 수: 4
Azzi Abdelmalek
Azzi Abdelmalek 2014년 9월 29일
Using a for loop
month_list = {'January' 'February' 'March' 'April' 'May' 'June' ...
'July' 'August' 'September' 'October' 'November' 'December'};
tic
for k=1:10000
vec = datevec(now);
your_string = sprintf('%i.%s year %i',vec(3),month_list{vec(2)}, vec(1));
end
toc
tic
for k=1:10000
strrep(datestr(now,'dd.mmmm _ yyyy'),'_','year');
end
toc
Elapsed time is 0.788404 seconds.
Elapsed time is 2.663671 seconds.
José-Luis
José-Luis 2014년 9월 29일
I don't see why the comparison should be invalid. It is faster even if I include the cell array generation in the computation time:
tic
month_list = {'January' 'February' 'March' 'April' 'May' 'June' ...
'July' 'August' 'September' 'October' 'November' 'December'};
vec = datevec(now);
your_string = sprintf('%i.%s year %i',vec(3),month_list{vec(2)}, vec(1));
toc
tic
strrep(datestr(now,'dd.mmmm _ yyyy'),'_','year');
toc
Elapsed time is 0.000576 seconds.
Elapsed time is 0.001291 seconds.

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


Thorsten
Thorsten 2014년 10월 1일
[datestr(now, 'dd.mmmm') ' year ' datestr(now, 'yyyy')]

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by