1. ホーム
  2. Web プログラミング
  3. ASP プログラミング
  4. アプリケーションのヒント

aspはプロジェクトの終了時刻を計算するためにWeekday関数を使用します。

2022-01-16 23:35:29

今日、プロジェクトの完了時間を教えてほしいという投稿を見たのですが、要件はこうでした。
あるプロジェクトの開始時刻が与えられたとき、そのプロジェクトに必要な総日数が与えられたとき、そのプロジェクトの完了時刻は何秒か?注:土曜日と日曜日は休日です。
aspのプログラミング開発では、プロジェクト開始時刻+日数でプロジェクト終了時刻を求めるなど、時間の計算は簡単ですが、ここで困るのが土日という2つの休みを除外することです。
考えた末に、コードを書きましたので、ここで共有します。

<%
starttime=cdate("2013-09-08") 'Project start time
endtime="" 'project end time
num=8 'the number of days needed for the project
response.write "starttime:"&starttime&"<br>days:"&num&"<br>endtime:"
starttime=starttime-1
i=1
while i <= num
	starttime=starttime+1
	w=weekday(starttime) 
	if w>1 and w<7 then 'non-weekend
		endtime=starttime
		i=i+1	
	else 'Weekend off
	end if
wend
response.write endtime
%>

(マウスオーバーすると、コードの上部に4つのアイコンが表示されます。1つ目はソースコードの表示、2つ目はコードのコピー、3つ目はコードの印刷、4つ目はヘルプです)
実行すると、結果を見ることができます。また、その中でプロジェクトの開始時刻やプロジェクト日数を変更し、永久カレンダーと比較して、正しく計算されているかどうかを確認することができます。