1
日付= 20170203(yyyymmdd)の場合、翌営業日、この場合は20170206をどのように見つけることができますか?翌営業日の検索方法:MATLAB
日付= 20170203(yyyymmdd)の場合、翌営業日、この場合は20170206をどのように見つけることができますか?翌営業日の検索方法:MATLAB
date = datenum('20170203','yyyymmdd');
NBD = nextBusinessDay(date)
NBD =
06-Feb-2017
または
機能がnextBusinessDayがあるdate = datenum('20170203','yyyymmdd');
NBD = nextBusinessDay(date,1:5) % Sunday to Thursday, as in e.g. Israel.
NBD =
05-Feb-2017
あるいは
date = datenum('20170203','yyyymmdd');
NBD = nextBusinessDay(date,[3 5 6]) % random business days
NBD =
07-Feb-2017
:
function nbd = nextBusinessDay(serTime,workdays)
w = weekday(serTime);
if exist('workdays','var')
nwds = workdays(workdays > w);
if isempty(nwds)
nbd = datestr(floor(serTime + mod(7,w) + workdays(1)));
else
nbd = datestr(floor(serTime) + nwds(1) - w);
end
else
if w < 6
nbd = datestr(floor(serTime+1));
else
nbd = datestr(floor(serTime + 3 - mod(w,6)));
end
end
@ Adriaan、より一般的な解決策を鼓舞してくれてありがとう!このソリューションでは、「仕事日」を指定できる 'workdays'という引数を使用できるようになりました(編集の例を参照)。 – JCKaz
は 'day'、' datenum'と '関数datestrの組み合わせを使用します'。 –
照会を投稿する前に - http://stackoverflow.com/help/how-to-ask – Prasad