Advice needed with the dateshift function

2 visualizzazioni (ultimi 30 giorni)
Michael T
Michael T il 12 Apr 2019
Risposto: Steven Lord il 27 Lug 2020
I'm struggling with the dateshift function and need some help if anyone can offer it.
I need to write some code that, once a menu option is chosen, will provide the next of two dates. i.e. If option 1 is selected on the menu, then either the next sunday date is displayed or the next wednesday date, whichever is nearest.
I can display the next sunday date, AND the next wednesday date, but i can't display the next sunday OR the next wednesday.
  1 Commento
Michael T
Michael T il 12 Apr 2019
Here is the code i have been using. I'm not an expert so i understand there may be an easier way to do this.
t = datetime('today');
t = datetime;
if Menu == 1
Sunday = dateshift(t,'dayofweek','Sunday',1)
end
if Menu == 2
Wednesday = dateshift(t,'dayofweek','Wednesday',1)
end
if Menu == 3
Next_Day_Is = dateshift(t,'dayofweek','Sunday','Wednesday',1)
end

Accedi per commentare.

Risposte (3)

Walter Roberson
Walter Roberson il 12 Apr 2019
days_to_shift_Sw = [0 2 1 0 3 2 1]
days_to_shift_Sw( day(t, 'dayofweek') )
  4 Commenti
Michael T
Michael T il 13 Apr 2019
If it’s already Sunday then the date can stay Sunday. It’s really more if it’s monday or Thursday for example.
Walter Roberson
Walter Roberson il 13 Apr 2019
Okay, so just add the indicated number of days to the current day.

Accedi per commentare.


AMAN GARG
AMAN GARG il 27 Lug 2020
dayshift(x,'Start','Hour')

Steven Lord
Steven Lord il 27 Lug 2020
N = datetime('today')
W = dateshift(N, 'dayofweek', 'Wednesday')
S = dateshift(N, 'dayofweek', 'Sunday')
answer = min(W, S)

Categorie

Scopri di più su Dates and Time in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by