2017-06-22 51 views
1

我想使用Eonasdan datetime拾取程序庫。 (v。4.17.47Datetimepicker(EONASDAN)發送選擇作爲最近分鐘舍入的時代戳時間戳

我需要在引導模板中包含一個簡單的表單(GET方法),它將允許用戶獲取日期和時間。

時間選擇必須有1分鐘的粒度。

當點擊提交按鈕時,我希望將用戶選擇作爲時代格式發送出去。

在我的例子下面,時代格式確實被髮送,但額外的秒被添加到時間戳,我想避免這一點,這必須是由於onchange函數。

我怎樣才能獲得時間戳記的價值是用戶選擇在最近的分鐘四捨五入的真實鏡子?

http://jsfiddle.net/lcoulon/ze2x8358/

$('#datetimepicker1').datetimepicker({ 
    locale: 'fr', 
}); 

// Sends epoch (unix time) into epoch-start-time form 
$('#datetimepicker1').on(`dp.change`, X => $('#epoch-start-time').val(X.date.unix())); 

回答

1

您可以使用momentjs startOf傳遞'minute'粒度參數

moment().startOf('minute'); // set to now, but with 0 seconds and 0 milliseconds 

這裏工作示例:

$('#datetimepicker1').datetimepicker({ 
 
    locale: 'fr' 
 
}); 
 
      
 
// Sends epoch (unix time) into epoch-start-time form 
 
$('#datetimepicker1').on(`dp.change`, X => 
 
$('#epoch-start-time').val(X.date.startOf('minute').unix()));
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css" rel="stylesheet"/> 
 
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.css" rel="stylesheet"/> 
 

 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script> 
 

 
<div class="container" style="margin:50px;"> 
 
    <h4>EOSNASDAN Bootstrap Datetime Picker</h4> 
 
    <div class="row"> 
 
    <div class='col-sm-6'> 
 
     <form class="form-horizontal" method="GET"> \t 
 
     <div class="form-group"> 
 
      <div class="input-group date col-md-5" data-date="2017-01-01T12:00:00Z" data-date-format="yyyy-mm-dd hh" data-link-field="epoch-start-time" id="datetimepicker1"> 
 
      <input type='text' class="form-control" /> 
 
      <span class="input-group-addon"> 
 
       <span class="glyphicon glyphicon-calendar"></span> 
 
      </span> 
 
      </div> 
 
      <input id="epoch-start-time" name="epoch" type="hidden"/> 
 
     </div> 
 
     <div class="form-group"> 
 
      <div class="col-sm-10 col-sm-offset-2"> 
 
      <button class="btn btn-info btn-sm" type="submit">Submit</button> 
 
      </div> 
 
     </div> 
 
     </form> 
 
    </div> 
 
    </div> 
 
</div>

+1

現在的作品完美,非常感謝。但是我注意到EONASDAN datetimepicker並不完全與Bootstrap v4兼容,我可能會考慮回滾到bootstrap v3以使表單正常工作。 –

+0

不幸的是,正如你所說,eonasdan datetimepicker與引導程序4不完全兼容,請參閱[這裏](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1377)以獲取有關如何修復一些不兼容的信息。 – VincenzoC