Angular Bootstrap Time Picker

Angular Time Picker - Bootstrap 4 & Material Design

Note: This documentation is for an older version of Bootstrap (v.4). A newer version is available for Bootstrap 5. We recommend migrating to the latest version of our product - Material Design for Bootstrap 5.
Go to docs v.5

Angular Bootstrap time picker is a component that allows users to choose a time from the form.


Basic examples MDB Pro component

        
            
            <mdb-time-picker
              [buttonLabel]="'Done'"
              [twelvehour]="true"
              [darktheme]="false"
              [placeholder]="'Selected time'"
              [label]="'Light version, 12hours'"
              [showClock]="true"
              [ngModel]="lightClock"
            ></mdb-time-picker>
            <mdb-time-picker
              [buttonLabel]="'Done'"
              [twelvehour]="false"
              [darktheme]="true"
              [placeholder]="'Selected time'"
              [label]="'Dark version, 24hours'"
              [ngModel]="darkClock"
            ></mdb-time-picker>
          
        
    

Disabled time picker MDB Pro component

        
            
            <div class="row">
              <div class="col-md-6 mx-auto my-5">
                <form [formGroup]="datePickerForm">
                  <mdb-date-picker
                    name="mydate"
                    [options]="myDatePickerOptions"
                    [placeholder]="'Selected date'"
                    formControlName="datePickerControl"
                    required
                  ></mdb-date-picker>
                </form>
              </div>
              <div class="col-md-6 mx-auto my-5">
                <mdb-error *ngIf="input.invalid && (input.dirty || input.touched)"
                  >Input invalid</mdb-error
                >
                <mdb-success *ngIf="input.valid && (input.dirty || input.touched)"
                  >Input valid</mdb-success
                >
              </div>
            </div>
          
        
    

Required Validation

        
            
            <div class="row">
                <div class="col-md-6 mx-auto my-5">
                    <mdb-time-picker
                      #timePicker
                      [buttonLabel]="'Done'"
                      [twelvehour]="false"
                      [darktheme]="true"
                      [placeholder]="'Selected time'"
                      [label]="'Dark version, 24hours'"
                      [(ngModel)]="darkClock"
                      #model="ngModel"
                      required
                    ></mdb-time-picker>
                </div>
                <div class="col-md-6 mx-auto my-5">
                <div *ngIf="model">
                  <mdb-error *ngIf="model.errors?.required"
                        >Input invalid</mdb-error
                  >
                  <mdb-success *ngIf="!model.errors">Input valid</mdb-success>
                </div>
              </div>
            </div>
          
        
    
        
            
          import { Component, ViewChild } from '@angular/core';
          import { ClockPickerComponent } from 'ng-uikit-pro-standard';

          @Component({
            selector: 'app-root',
            templateUrl: './app.component.html',
            styleUrls: ['./app.component.scss'],
          })
          export class AppComponent {
            @ViewChild('timePicker', { static: true }) timePicker!: ClockPickerComponent;

            darkClock = null;

            onClear() {
              this.timePicker.clearTimeInput();
              this.darkClock = null;
            }
          }
          
        
    

Default Time Picker

Below is presented the browser's default Date Picker with MD input.

        
            
            <div class="md-form">
              <input
                type="time"
                id="input"
                class="form-control"
                value="13:00"
                mdbInput
              />
              <label for="input">Choose your time</label>
            </div>
        
        
    

Date and Time Picker

You can use Time Picker and Date Picker together as a one component. If you want to do this, you have to use input with .date-time class. You have to use also data-open="DatePickerID" HTML data-* Attribute and .time-date-ghost class.

        
            
            <div class="md-form mdb-date-time">
              <input
                (focus)="this.datePicker.openBtnClicked()"
                #input
                class="form-control date-time picker-opener"
                data-open="picker2"
                placeholder="Date and Time"
                type="text"
              />
              <mdb-date-picker
                (dateChanged)="onDateChange($event)"
                [options]="myDatePickerOptions"
                #datePicker
              ></mdb-date-picker>
              <mdb-time-picker
                (timeChanged)="onTimeChange($event)"
                [buttonLabel]="'Done'"
                [twelvehour]="false"
                #timePicker
              ></mdb-time-picker>
            </div>
          
        
    
        
            
            import { Component, ViewChild, ElementRef } from '@angular/core';
            import { IMyOptions, MDBDatePickerComponent, ClockPickerComponent } from 'ng-uikit-pro-standard';

            @Component({
              selector: 'app-root',
              templateUrl: './app.component.html',
              styleUrls: ['./app.component.scss'],
            })
            export class AppComponent {
              @ViewChild('input', { static: true }) input!: ElementRef;
              @ViewChild('datePicker', { static: true }) datePicker!: MDBDatePickerComponent;
              @ViewChild('timePicker', { static: true }) timePicker!: ClockPickerComponent;

              myDatePickerOptions: IMyOptions = {
                // Your options
              };

              onDateChange(event: { actualDateFormatted: string; }) {
                this.input.nativeElement.value = event.actualDateFormatted; // set value to input
                this.datePicker.closeBtnClicked(); // close date picker
                this.timePicker.openBtnClicked(); // open time picker
              };

              onTimeChange(event: string) {
                this.input.nativeElement.value = `${this.input.nativeElement.value}, ${event}`; // set value to input
              };
            }
          
        
    
        
            
            .mdb-date-time {
              mdb-date-picker::ng-deep .mydp,
              mdb-time-picker::ng-deep .tp {
                &,
                input,
                .md-form {
                  height: 0;
                  width: 0;
                }
              }
            }
          
        
    

Angular Time Picker - API

In this section you will find informations about required modules and available inputs, outputs, methods and events of time picker component.


Modules used

In order to speed up your application, you can choose to import only the modules you actually need, instead of importing the entire MDB Angular library. Remember that importing the entire library, and immediately afterwards a specific module, is bad practice, and can cause application errors.

API Reference for MDB Angular Time Picker:
        
            
          import { TimepickerModule, WavesModule } from 'ng-uikit-pro-standard';
        
        
    

Components

MdbTimePicker

Selector: mdb-time-picker

Type: ClockPickerComponent


Inputs

Name Type Default Description Example
buttonLabel string 'Done' Custom text that will be used as label for 'Done' button [buttonLabel]="'Close'"
buttonClear boolean true Disables display clear button [buttonClear]="false"
buttonClearLabel string 'Clear' Custom text that will be used as label for 'Clear' button [buttonClearLabel]="'Close'"
buttonClose boolean false Shows 'Close' button [buttonClose]="false"
buttonCloseLabel string 'Close' Custom text that will be used as label for 'Close' button [buttonCloseLabel]="'Exit'"
darkTheme boolean false Changes time picker theme to dark [darkTheme]="true"
disabled boolean false Disables time picker input field [disabled]="true"
label string - Changes date picker label [label]="Example label"
showClock boolean true Whether time picker should open automatically on load [showClock]="false"
tabIndex number 0 Changes tabindex of time picker input field [tabIndex]="-1"
twelvehour boolean false Changes number of displayed hours to 12 [twelvehour]="true"
outlineInput boolean false Use to change default Date Picker to outline version (.md-outline) class [outlineInput]="true"

Outputs

Name Type Description Example
timeChanged EventEmitter<string> Event emitted when time value change (timeChanged)="onTimeChange($event)"

Methods

You can get access to the time picker methods from another component. Add template reference variable to your mdb-time-picker component in HTML file:

<mdb-time-picker #timePicker></mdb-time-picker>

Then in your typescript file use @ViewChild decorator to get access to MdbTimePicker methods:

@ViewChild('timePicker', { static: true }) timePicker: ClockPickerComponent

Name Description Example
clearTimeInput Clears time picker input value this.timePicker.clearTimeInput()