フィルターのクリア

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 Center および File ExchangeMathematics についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by