How to use datestr(now)
5 ビュー (過去 30 日間)
古いコメントを表示
採用された回答
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.
0 件のコメント
その他の回答 (2 件)
Azzi Abdelmalek
2014 年 9 月 29 日
strrep(datestr(now,'dd.mmmm _ yyyy'),'_','year')
4 件のコメント
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
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.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!