5.指定年月日の期間出力関数
またまたプログラミングの話です。今度は、指定年月日の期間出力関数です。
これですが、開始年月日から終了年月日までのどのくらいの期間が
経っているかを計算するプログラムです。こういう関数は色々な場面で
使いそうだからこれは共通関数にしておいた方が良いなと思いました。
そして、仕事ではVB6.2で作りましたが、自宅でプログラミングする時は
C#で作り直しました。

引数ですが、開始の年、月、日。終了の年、月、日を整数型で指定するように
してあります。オーバーロードで日付型で指定できるのも作りましたが、
整数型で持っているのは、日付型では対応できない日付にも対応できるように
するためです。例えば紀元前とか。自分で作った日付関連の共通関数は
全て紀元前やユリウス暦にも対応できるように作ってあります。

あと、開始年月日が終了年月日より後の日付の場合ですが、普通だったら
エラーにするのですが、この関数の場合、終了年月日と開始年月日を
入れ替えた後、計算するようにしてあります。

それから、引数で年月日、年月、年、月日、月、日とさらに+1の
組み合わせを指定することによって色々なパターンで期間を出力できる
ようにしています。返却値は、年月日の場合、「○年○ヶ月○日」で
返しますが、数値のみで扱えるように年用、月用、日用の整数型の
取得のみのプロパティも用意してあります。

あと、日を指定した場合ですが、「1年1月1日から指定年月日までの日数
出力関数」を呼び出していますが、この関数は作ったのは良いが使うこと
あるのだろうかと思っていました。が、結構使い道はありましたね。

この関数ですが、本当に重宝しています。何かと使い道が多いのです。
自分の誕生日から現在まで何日経っているかとか、自分のコスプレの
統計プログラムだったり、どの元号が長く使われていたかの計算などです。
これは共通関数で作っておいて正解でした。そんなわけで、このプログラムは
使い道が多いので、色々なことで利用していると思います。
write:2016/10/04 rewrite:- update:2016/10/09


Back

Archive