進数変換(時刻は 60進数とか24進数だったりしますね)に浮動小数点数を使うと、たいてい予期しないバグに遭遇します。 特に floor() とか最悪。 例えば ? 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 (0.1を10回足す) は 1 を表示します(数学的にも期待通りな感じ) ところが、 ? floor(0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1) は 0 を表示します。 なんとも納得できないと思うけどこれは仕方ないのですね。 なので、進数変換には整数演算のみを使うのがオススメ!!