そもそも質問ってなんなの
>>108 からの >>111、派生で>>116
後出しで
・マイナス
・小数点以下
にも対応

ようは、ほんとはdatetimeかtimeで
一発で書きたい
もしくは、
出来る限り自作関数など無しで書きたい
だと思うけど