環境はVB6,Windows2000です。
早速質問させていただきます。
”09:10:12.431”といったようなString型の時間データで計算を行うには
どのようにすればよろしいのでしょうか?
例えば下記のようなデータがある場合、
Dim a As String
Dim b As String
a = "09:10:12.123" '9時10分12秒123
b = "10:11:13.234" '10時11分13秒234
ここで、bからaを引いた時間”01:01:01.111”という値(差分)を計算で
算出したいのですが...
a,bの値をどのような型に変換して行えばいいのかわからず困っています。
どなたかご教授の程よろしくお願いいたします。
時間と少数以下を分割するとか。
名無しさま
ご指導の通り少数以下を分割し計算することで期待通りの
動作となりました。
(情けないことに私には分割という発想が出てきませんでした)
本当にありがとうございました。
以下ご参考までに...
Dim a As String
Dim b As String
Dim time1 As Date '小数点より上位
Dim time2 As Integer '小数点より下位
Dim time3 As String '計算結果
a = "09:10:12.123" '9時10分12秒123
b = "10:11:13.234" '10時11分13秒234
time1 = CDate(Left(b, 8)) - CDate(Left(a, 8))
time2 = Val(Right(b, 3)) - Val(Right(a, 3))
'ミリの位の減算がマイナスになったときの処理
If time2 <= -1 Then
time2 = 1000 + time2
time1 = time1 - CDate("00:00:01")
End If
time3 = Format(time1, "hh:mm:ss") & "." & Format(time2, "000")
debug.Print time3
解決忘れ...
ツイート | ![]() |