x
• Status: Solved
• Priority: Medium
• Security: Public
• Views: 6297

# VBS Convert Time hh:mm:ss (1:23:58 PM) to HH:mm:ss (13:23:58)

How do convert  a time hh:mm:ss (1:23:58 PM) to Military time HH:mm:ss (13:23:58) in vbscript
I know that FormatDateTime will do a 24-hour format using vbShortTime but I need to keep the seconds at the end.  Here is an example using vb function FormatDateTime

Dim Time
Dim FTime

FTime = FormatDateTime(Time, 4)

But this cuts of the seconds and I need the seconds

0
kuney
• 2
1 Solution

Commented:
FTime = Right("0" & Hour(Time), 2) & ":" & Right("0" & Minute(Time), 2) & ":" & Right("0" & Minute(Time), 2)
0

Author Commented:
FTime = Right("0" & Hour(Time), 2) & ":" & Right("0" & Minute(Time), 2) & ":" & Right("0" & Minute(Time), 2)
The last Minute needs to be changed to Second
But this doesn't change the time to Military time

But I could Dim another variable and use this after the FormatDateTime vbShortTime so it would look like this:

Time = 1:23:58

Dim Time
Dim FTime
Dim MTime

MTime = FormatDateTime(Time, 4)
FTime = Right("0" & Hour(MTime), 2) & ":" & Right("0" & Minute(MTime), 2) & ":" & Right("0" & Second(Time), 2)

Now FTime should equal 13:23:58

Would this be the way others would go about changing 1:23:58 to 13:23:58
0

Commented:
kuney,

Get rid of your variable Time; there is already a Time function that returns the current system time, shorn of
its date portion.  My code suggestion assumes you are using the Time function, and *not* your variable Time.

Regards,

Patrick
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

## Featured Post

• 2
Tackle projects and never again get stuck behind a technical roadblock.