如何设置格式的默认日期 'MM/dd/yyyy'
How to set default date of format 'MM/dd/yyyy'
这是我使用 Bootstrap datetimepicker 创建日历的代码:
$('#datetimepicker12').datetimepicker({
inline: true,
format: 'MM/dd/yyyy',
minDate: new Date(moment(new Date()).add(0, 'days').toDate()),
maxDate: new Date(moment(new Date()).add(7, 'days').toDate()),
});
现在我想将日历的默认日期设置为我的自定义日期,它的格式是这样的 '2017-03-30'
如何将其转换为与我之前设置的 datetimepicker 格式相同的格式?
$.datepicker.setDefaults({
dateFormat: 'yy-mm-dd'
});
此处记录了有效格式:
https://eonasdan.github.io/bootstrap-datetimepicker/Options/#format
从那里您可以阅读:
有关有效格式,请参阅 momentjs 的文档。格式还规定显示哪些组件,例如MM/dd/YYYY 不会显示时间选择器。
http://momentjs.com/docs/#/displaying/format/
因此对于您的特定情况,它将是:
format: 'MM/DD/YYYY' //(all uppercase)
并设置您需要使用的默认值:
defaultDate:
defaultDate
的文档是 here
Bootstrap datetimepicker 使用 momentjs 来管理日期,所以:
- 您的
minDate
和 maxDate
选项中不需要 new Date(...)
和 toDate()
。
format
option should be compliant to moment tokens,在你的情况下把它改成大写 MM/DD/YYYY
.
选择器有一个 defaultDate
option, you can use it to set 2017-03-30
as default date, you simply have to parse 它使用 moment(moment('2017-03-30')
就足够了,因为您输入的是受支持的 ISO 8601 格式)。
请注意,如果您必须默认为当前日期,则 datimepicker 有 useCurrent
选项。
这是一个工作示例:
$('#datetimepicker12').datetimepicker({
inline: true,
format: 'MM/DD/YYYY',
minDate: moment().startOf('day'),
maxDate: moment().add(7, 'days').endOf('day'),
defaultDate: moment('2017-03-30')
});
<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.37/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.37/js/bootstrap-datetimepicker.min.js"></script>
<div class="form-group">
<div class="row">
<div class="col-md-8">
<div id="datetimepicker12"></div>
</div>
</div>
</div>
代码段在 2017-30-17
之后将不起作用,因为默认日期将不包含在 minDate
和 maxDate
之间。
这是我使用 Bootstrap datetimepicker 创建日历的代码:
$('#datetimepicker12').datetimepicker({
inline: true,
format: 'MM/dd/yyyy',
minDate: new Date(moment(new Date()).add(0, 'days').toDate()),
maxDate: new Date(moment(new Date()).add(7, 'days').toDate()),
});
现在我想将日历的默认日期设置为我的自定义日期,它的格式是这样的 '2017-03-30'
如何将其转换为与我之前设置的 datetimepicker 格式相同的格式?
$.datepicker.setDefaults({
dateFormat: 'yy-mm-dd'
});
此处记录了有效格式:
https://eonasdan.github.io/bootstrap-datetimepicker/Options/#format
从那里您可以阅读:
有关有效格式,请参阅 momentjs 的文档。格式还规定显示哪些组件,例如MM/dd/YYYY 不会显示时间选择器。
http://momentjs.com/docs/#/displaying/format/
因此对于您的特定情况,它将是:
format: 'MM/DD/YYYY' //(all uppercase)
并设置您需要使用的默认值:
defaultDate:
defaultDate
的文档是 here
Bootstrap datetimepicker 使用 momentjs 来管理日期,所以:
- 您的
minDate
和maxDate
选项中不需要new Date(...)
和toDate()
。 format
option should be compliant to moment tokens,在你的情况下把它改成大写MM/DD/YYYY
.
选择器有一个 defaultDate
option, you can use it to set 2017-03-30
as default date, you simply have to parse 它使用 moment(moment('2017-03-30')
就足够了,因为您输入的是受支持的 ISO 8601 格式)。
请注意,如果您必须默认为当前日期,则 datimepicker 有 useCurrent
选项。
这是一个工作示例:
$('#datetimepicker12').datetimepicker({
inline: true,
format: 'MM/DD/YYYY',
minDate: moment().startOf('day'),
maxDate: moment().add(7, 'days').endOf('day'),
defaultDate: moment('2017-03-30')
});
<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.37/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.37/js/bootstrap-datetimepicker.min.js"></script>
<div class="form-group">
<div class="row">
<div class="col-md-8">
<div id="datetimepicker12"></div>
</div>
</div>
</div>
代码段在 2017-30-17
之后将不起作用,因为默认日期将不包含在 minDate
和 maxDate
之间。