How to use datestr(now)

1 view (last 30 days)
Íris
Íris on 29 Sep 2014
Answered: Thorsten on 1 Oct 2014
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
?

Accepted Answer

José-Luis
José-Luis on 29 Sep 2014
Edited: José-Luis on 29 Sep 2014
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.

More Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 29 Sep 2014
strrep(datestr(now,'dd.mmmm _ yyyy'),'_','year')
  4 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 29 Sep 2014
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 on 29 Sep 2014
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.

Sign in to comment.


Thorsten
Thorsten on 1 Oct 2014
[datestr(now, 'dd.mmmm') ' year ' datestr(now, 'yyyy')]

Categories

Find more on Mathematics in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!