teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

記述の追加

2017/09/02 13:07

投稿

diracpaul
diracpaul

スコア157

answer CHANGED
@@ -12,8 +12,8 @@
12
12
  ' ただし、閏年の場合には、3月以降に+1する。これは①で行なっている。
13
13
  d = 0
14
14
  For i = LBound(monthOfDay) To UBound(monthOfDay)
15
- dayOfYear(i) = d
15
+  dayOfYear(i) = d
16
- d = d + monthOfDay(i)
16
+  d = d + monthOfDay(i)
17
17
  Next i
18
18
 
19
19
  ' ((iYear-1)-1000)*365を一度に計算しようとするとオーバーフローになるので式を分解する。
@@ -21,10 +21,10 @@
21
21
  tDay = tDay * 365
22
22
 
23
23
  ' 2行目のiMonth1-1は、dayOfYear配列の下限が0から始まっているため、
24
- ' 2行目のIIf式が、うるう年でiMonthが3月以降だったら+1にする。
24
+ ' 2行目のIIf式が、うるう年でiMonthが3月以降だったら+1にする。**①**
25
25
  tDay = (tDay + Int((iYear - 1) / 4) - Int(1000 / 4)) + _
26
- (dayOfYear(iMonth - 1) + IIf(iYear Mod 4 = 0 And 3 <= iMonth, 1, 0)) + _
26
+   (dayOfYear(iMonth - 1) + IIf(iYear Mod 4 = 0 And 3 <= iMonth, 1, 0)) + _
27
- (iDay)
27
+   (iDay)
28
28
 
29
29
  うるう年の決定には、4で割り切れるかどうかで判断していますが、本来的には、
30
30