HTML Input Type Time Without AM-PM and With Min-Max

HTML Input Type Time Without AM-PM and With Min-Max


In this blog post i will  step through on  how to create an HTML input type without AM-PM and with Min  Max Value.

Normally, to create  an Time Input ,we would use the HTML Code shown  below.

<input type='time'>

Date Time Display

But What if we would like  the input to  only be set in 24 hour format and without AM -PM

There are a  2 ways to Solve this

1st Solution

First approach is to either remove the AM- PM input using JavaScript Or jQuery. I found this Solution Here on  Stack OverFlow

The  advantage of this solution is,  you can maintain the Date Format  String  and it can be  later to be  passed on to the  “new Date() ” object easily. While the Dis- advantage is , you will need to write a jQuerry method to force remove the AM-PM display which make things turn out to be more complicated . More over there is a problem on this solution as well, where  if you want to implement 24 Hour format input, you will need to write another method to force create it.

2nd  Solution

The Second approach is more straight forward and less Complicated , only HTML Code is involved , there are no  complicated jQuery and JavaScript Integration.

The Advantage is , you only use HTML Code and Some CSS Styling . The Dis-advantage , is , you will need to use JavaScript Code to   rebuild the Date String later before passing it  into the  “new Date() ” object.

In Order to do this

Step 1 ->  We will need to create 3   <input >  box  for Hour / Minute / Seconds

Step 2 ->  Assign a Class  name  to all the 3 Input , any name will do . In this Context my Class Name is assign as “in_put”

Step3  ->  For hour input Box assign max =23  , while for minute / second input Box  assign max =59 . All Input box ” min” assign min =0

Step4 ->   Finally i will wrap all these input box under Fieldset tag , to group them as a single unit

Step6 ->  Styling Individual Input Box for hour / minute / second.

Step7 -> Background Color is set as white /  display to be set  as inline-reflex , /lastly set the border / color / width according to your needs

Step8 ->  Styling the Fieldset,  / dsiplay Set as inline-block , / Set border-radius / width  / border  according to your needs.

The Code as below

<style type="text/css">

fieldset {
border-radius: 5px;
width: max-content;
border: 1px solid #D4D4D5;
display: inline-block;

background-color: white;
display: inline-flex;
border: 1px solid #ccc;
color: #555;
width :90px;





<p>Date Time Display</p>
			  <input class="in_put" id="hh_1" type="number" min="0" max="23" placeholder="00" value=0 >:
			  <input class="in_put" id="mm_1" type="number" min="0" max="59" placeholder="00" value=0 >:
			  <input class="in_put" id="ss_1"type="number" min="0" max="59" placeholder="00"  value=0 >


Output ———->

Date Time Display

: :

Check out how to create a Table using HTML

Leave a Comment

nineteen − 5 =