How to use datestr(now)
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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
?
0 Kommentare
Akzeptierte Antwort
José-Luis
am 29 Sep. 2014
Bearbeitet: José-Luis
am 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.
0 Kommentare
Weitere Antworten (2)
Azzi Abdelmalek
am 29 Sep. 2014
strrep(datestr(now,'dd.mmmm _ yyyy'),'_','year')
4 Kommentare
Azzi Abdelmalek
am 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
am 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.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!