回答編集履歴

1

1900/2/29 対応

2016/07/01 08:06

投稿

Zuishin
Zuishin

スコア28662

test CHANGED
@@ -5,3 +5,17 @@
5
5
  (new DateTime(1899,12,31)).AddDays(n);
6
6
 
7
7
  ```
8
+
9
+ ###追記
10
+
11
+ Excel には 1900 年 2 月 29 日があるそうなので、それを踏まえた修正を行いました。
12
+
13
+ 西暦 2000 年を生きた皆様は当然ご存じでしょうが、閏年は基本的に四年に一度ですが、百年に一度は閏年ではありません。しかし、四百年に一度は閏年です。
14
+
15
+ ロータス1-2-3 の作られた時代のプログラマはうっかりしてたんですね。
16
+
17
+ ```C#
18
+
19
+ (new DateTime(1899,12,31)).AddDays(n >= 60 ? n - 1 : n);
20
+
21
+ ```