Eonasdan DateTimePicker - 获取显示日期(year/month)
Eonasdan DateTimePicker - get displayed date(year/month)
有没有办法得到当前显示的年月?
理想情况下,对我来说,这将在更新事件中可用。
我可以看到更改月份时更新事件的 "change" 属性设置为 "M",但是我找不到当前显示的月份和年份。这在任何地方都可用吗?
谢谢。
您可以使用 date()
函数获取日期时间选择器的当前值:
Returns the component's model current date, a moment
object or null
if not set.
然后您可以使用 momentjs 函数,例如 format()
, month()
, year()
来获取有关所选日期的可读信息。
如果你想知道当用户使用上一个和下一个按钮浏览组件时显示的year/month,你可以添加一个监听器到dp.update
事件。
Fired (in most cases) when the viewDate
changes. E.g. Next and Previous buttons, selecting a year.
events的viewDate
属性是一个moment对象,代表当前观看日期。同样,您可以使用矩函数来显示有关查看日期的信息。
这是一个活生生的例子:
$('#datetimepicker1').datetimepicker({
useCurrent: false
}).on('dp.update', function(e){
console.log("Displayed year/month " + e.viewDate.format("YYYY MMMM"));
})
function getDate(){
var selDate = $('#datetimepicker1').data("DateTimePicker").date();
if(selDate){
console.log("Displayed year/month " + selDate.format("YYYY MMMM"));
}
}
<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.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">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<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>
<div class='col-sm-6'>
<button class="btn btn-primary" onclick="getDate()">Get date</button>
</div>
</div>
</div>
有没有办法得到当前显示的年月?
理想情况下,对我来说,这将在更新事件中可用。
我可以看到更改月份时更新事件的 "change" 属性设置为 "M",但是我找不到当前显示的月份和年份。这在任何地方都可用吗?
谢谢。
您可以使用 date()
函数获取日期时间选择器的当前值:
Returns the component's model current date, a
moment
object ornull
if not set.
然后您可以使用 momentjs 函数,例如 format()
, month()
, year()
来获取有关所选日期的可读信息。
如果你想知道当用户使用上一个和下一个按钮浏览组件时显示的year/month,你可以添加一个监听器到dp.update
事件。
Fired (in most cases) when the
viewDate
changes. E.g. Next and Previous buttons, selecting a year.
events的viewDate
属性是一个moment对象,代表当前观看日期。同样,您可以使用矩函数来显示有关查看日期的信息。
这是一个活生生的例子:
$('#datetimepicker1').datetimepicker({
useCurrent: false
}).on('dp.update', function(e){
console.log("Displayed year/month " + e.viewDate.format("YYYY MMMM"));
})
function getDate(){
var selDate = $('#datetimepicker1').data("DateTimePicker").date();
if(selDate){
console.log("Displayed year/month " + selDate.format("YYYY MMMM"));
}
}
<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.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">
<div class="row">
<div class='col-sm-6'>
<div class="form-group">
<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>
<div class='col-sm-6'>
<button class="btn btn-primary" onclick="getDate()">Get date</button>
</div>
</div>
</div>