Solved

# Need Fix on Convert standard time to Military

Posted on 2005-04-28
1,045 Views
I got this function off of this site from an expert but it's flawed.

For example:

12:00 AM is returning 12:00, when it actually should be returning 00:00.
It's pretty screwed up.. I can post my conversion code for doing Military to Standard if that helps.
Thanks

function to_military( val )  {
var pm = 0, hour = 0, min = 0;
if( val.search( /PM/i ) >= 0 )
pm = 12, val = val.replace( /PM/i, "" );
if( val.search( /AM/i ) >= 0 )
val = val.replace( /AM/i, "" );
var vals = val.split( /[^0-9]+/ );
hour = parseInt( vals[ 0 ] );
if( hour > 24 ) hour = 0;
if( hour <= 12 ) hour = ( hour + pm ) % 24;
if( hour < 10 ) hour = "0" + hour;
min = ( vals.length > 1 ) ? parseInt( vals[ 1 ] ) : 0;
if( min < 10 ) min = "0" + min;
return hour + ":" + min;
}

Here's some easy test code to copy/paste so you can test.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<script>
function to_military( val )  {
var pm = 0, hour = 0, min = 0;
if( val.search( /PM/i ) >= 0 )
pm = 12, val = val.replace( /PM/i, "" );
if( val.search( /AM/i ) >= 0 )
val = val.replace( /AM/i, "" );
var vals = val.split( /[^0-9]+/ );
hour = parseInt( vals[ 0 ] );
if( hour > 24 ) hour = 0;
if( hour <= 12 ) hour = ( hour + pm ) % 24;
if( hour < 10 ) hour = "0" + hour;
min = ( vals.length > 1 ) ? parseInt( vals[ 1 ] ) : 0;
if( min < 10 ) min = "0" + min;
return hour + ":" + min;
}
</script>
<table>
<tr>
<td>from standard&nbsp;&nbsp;<input type="text" onChange="this.value=to_military(this.value)"></td>
</tr>
</table>
</body>
</html>
0
Question by:dgelinas

LVL 9

Expert Comment

if( hour == 12 ) hour = 0;
?
0

LVL 9

Accepted Solution

You don't need to do all that. This is much simpler...

var dt = new Date("1/1/2000 " + val);
var hour = dt.getHours();
var min = dt.getMinutes();
etc.

And it even validates whether the time is a valid time string.
0

## Featured Post

### Suggested Solutions

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…