help writing a script that tells the day of the week
3 ビュー (過去 30 日間)
古いコメントを表示
I need help writing a code that tells me the day of the week as well as the number of the day relative to the year. Ex: input form month/day/year: xx/xx/xxxx output should say something like: The date 08/31/2011 is the 243 day of the year and is a wednesday.
I have tried so many different things from Mathworks with no luck.
2 件のコメント
John D'Errico
2015 年 10 月 10 日
disp('Today is Monday")
Correct at least once a week. Oh. did you want it to get the day right, all the time?
採用された回答
Star Strider
2015 年 10 月 10 日
One way (not using datetime, since not everyone may have it):
InpStr = '08/31/2011';
YrStart = datenum(InpStr(end-3:end), 'yyyy');
dtnm = datenum(InpStr, 'mm/dd/yyyy');
[DayOfWkNum,DayOfWkStr] = weekday(dtnm,'long');
fprintf(1, '\n\tThe date %s is the %d day of the year and is a %s\n', InpStr, dtnm-YrStart+1, DayOfWkStr)
The date 08/31/2011 is the 243 day of the year and is a Wednesday
2 件のコメント
その他の回答 (2 件)
Peter Perkins
2015 年 10 月 10 日
... and another way, using datetime (if you have R2014b or later):
>> d = datetime('08/31/2011','InputFormat','MM/dd/yyyy')
d =
31-Aug-2011
>> day(d,'dayofyear')
ans =
243
>> day(d,'name')
ans =
'Wednesday'
0 件のコメント
Stephen23
2015 年 10 月 10 日
編集済み: Stephen23
2015 年 10 月 12 日
The grammar pedants amongst us may appreciate my FEX submission datestr8601, which provides a day-of-the-year string with the correct ordinal suffix:
>> X = [2011,08,31];
>> [A,B,C] = datestr8601(X,'*ymd','nnn','DDDD')
A =
2011-08-31
B =
243rd
C =
Wednesday
>> sprintf('The date %s is the %s day of the year, and is a %s.',A,B,C)
ans =
The date 2011-08-31 is the 243rd day of the year, and is a Wednesday.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Dates and Time についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!