回答編集履歴
1
1900/2/29 対応
answer
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
変換したい数字を n とすると
|
2
2
|
```C#
|
3
3
|
(new DateTime(1899,12,31)).AddDays(n);
|
4
|
+
```
|
5
|
+
###追記
|
6
|
+
Excel には 1900 年 2 月 29 日があるそうなので、それを踏まえた修正を行いました。
|
7
|
+
西暦 2000 年を生きた皆様は当然ご存じでしょうが、閏年は基本的に四年に一度ですが、百年に一度は閏年ではありません。しかし、四百年に一度は閏年です。
|
8
|
+
ロータス1-2-3 の作られた時代のプログラマはうっかりしてたんですね。
|
9
|
+
```C#
|
10
|
+
(new DateTime(1899,12,31)).AddDays(n >= 60 ? n - 1 : n);
|
4
11
|
```
|