help writing a script that tells the day of the week
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
John D'Errico
il 10 Ott 2015
disp('Today is Monday")
Correct at least once a week. Oh. did you want it to get the day right, all the time?
Risposta accettata
Star Strider
il 10 Ott 2015
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 Commenti
Più risposte (2)
Peter Perkins
il 10 Ott 2015
... 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 Commenti
Stephen23
il 10 Ott 2015
Modificato: Stephen23
il 12 Ott 2015
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 Commenti
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!