2月29日の「1年後」って何日…?
1年後ってなんだ
「有効期限は1年後です」と言われた場合
年をプラス1?
月をプラス12?
日をプラス365?
…
パワープレイ以前に、うるう年に10000を足すと存在しない日付になるが…
20200229 + 10000 = 20210229
きっかけとなっただけで、そもそもこれが正しく実装されているのかはそっとしておく
C#
2021/02/28
code:cpp
DateTime datetime = new DateTime(2020, 2, 29);
Console.WriteLine(datetime.AddYears(1)); // 2021-02-28
SQL Server
2021/02/28
code:sql
declare @date datetime = '2020-02-29';
select dateadd(year, 1, @date) as date; -- 2021-02-28
code:sql
declare @date date = '2020-02-29';
select dateadd(day, 365, @date); -- 2021-02-28
Excel 2016
2021/03/01
code:excel
=DATE(2020+1, 2, 29) # 2021-03-01
2021/02/28
code:excel
=DATE(2020, 2, 29+365) # 2021-02-28