Search code examples
jquerytwitter-bootstrapbootstrap-datetimepicker

Set a default time for a field in a bootstrap datetime


$(function() {
  $('.date').datetimepicker({
    format: 'YYYY-MM-DD HH:mm:ss'
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>


<div class="container panel">
<div class="container panel-heading"><h1>
</h1>Choose time</div>
</div>
  <div class="container panel-body">
    <div class="row">
      <div class='col-sm-6'>
        <div class="form-group">
          <label>Start time</label>
          <div class='input-group date' id='datetimepicker1'>

            <input type='text' class="form-control" />
            <span class="input-group-addon">
                        <span class="glyphicon glyphicon-calendar"></span>
            </span>
          </div>
        </div>
        <div class="form-group">
          <label>End time</label>
          <div class='input-group date' id='datetimepicker2'>

            <input type='text' class="form-control" />
            <span class="input-group-addon">
                        <span class="glyphicon glyphicon-calendar"></span>
            </span>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

I'd like to set a default time for the two datetimepickers below. The first (Start time) should be 00:00:01 unless otherwise specified (by the user). The second (End time) should be 23:59:59 unless otherwise specified (by the user).

datetimepicker seems to provide a default date option, but no default time option.


Solution

  • You can pass a Date object to defaultDate parameter.

    var now = new Date();
    var def1 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 1);
    var def2 = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59);
    
    $(function() {
      $('.date:eq(0)').datetimepicker({
        defaultDate: def1,
        format: 'YYYY-MM-DD HH:mm:ss'
      });
      $('.date:eq(1)').datetimepicker({
        defaultDate: def2,
        format: 'YYYY-MM-DD HH:mm:ss'
      });
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.min.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
    
    
    <div class="container panel">
      <div class="container panel-heading">
        <h1>
    </h1>Choose time</div>
    </div>
    <div class="container panel-body">
      <div class="row">
        <div class='col-sm-6'>
          <div class="form-group">
            <label>Start time</label>
            <div class='input-group date' id='datetimepicker1'>
    
              <input type='text' class="form-control" />
              <span class="input-group-addon">
                            <span class="glyphicon glyphicon-calendar"></span>
              </span>
            </div>
          </div>
          <div class="form-group">
            <label>End time</label>
            <div class='input-group date' id='datetimepicker2'>
    
              <input type='text' class="form-control" />
              <span class="input-group-addon">
                            <span class="glyphicon glyphicon-calendar"></span>
              </span>
            </div>
          </div>
        </div>
      </div>
    </div>
    </div>