こんにちは、ふじまるです。
久々に自分の作ったプログラムを見直すことがあって、その中で経過分数を求めるプログラムがあったので書いておきます。
例えば11時から12時15分は何分あるかです。答えは75分ですけどプログラムで計算するのは面倒でした。
データ的にはhhmm形式で持っていて1100と1215というデータでした。
単純に引き算は出来ません。計算式は以下です。最初のhhmmが後の時間の方です。
((hh + (mm ÷ 60))×60) – ((hh + (mm ÷ 60))×60)
ややこしいですが式に数字を当てはめると、下記になります。
((12 + (15 ÷ 60))×60) – ((11 + (00 ÷ 60))×60)
15÷60で0.25、12.25×60で735
0÷60で0、11×60で660
735 – 660 = 75分
という感じです。
vbscriptで書いたら
vbscriptで書くとこんな感じ。hhmm1は1215、hhmm2は1100です。hhとmmに分解するのでleftとright関数で分けた後、数値型にする為にCDblで変換してます。
((CDbl(left(hhmm1,2)) + (CDbl(right(hhmm1,2)) ÷ 60))×60) – ((CDbl(left(hhmm2,2)) + (CDbl(right(hhmm2,2))÷ 60))×60)
まぁなんと無理矢理…笑
良く思い付いたなぁ。。どっかで見たのかな。忘れてしまった。笑
ということでプログラムの備忘録でした。