Advice needed with the dateshift function

2 次查看(过去 30 天)
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 个评论
Michael T
Michael T 2019-4-12
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

请先登录,再进行评论。

回答(3 个)

Walter Roberson
Walter Roberson 2019-4-12
days_to_shift_Sw = [0 2 1 0 3 2 1]
days_to_shift_Sw( day(t, 'dayofweek') )
  4 个评论
Michael T
Michael T 2019-4-13
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 2019-4-13
Okay, so just add the indicated number of days to the current day.

请先登录,再进行评论。


AMAN GARG
AMAN GARG 2020-7-27
dayshift(x,'Start','Hour')

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

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by