我实际上有一些问题试图显示当天并允许选择过去的日期。如果我将当前日期设置为今天的日期,则无法选择过去日期,如果我删除参数startDate: new Date()
,我可以选择过去日期,但默认显示日期更改为1899年。我不能保持两种逻辑。
使用以下代码段,我可以默认显示当前日期,但我无法选择过去的日期:
$(".form_datetime").datetimepicker({
format: "mm/dd/yyyy HH:ii P",
autoclose: true,
showMeridian: true,
startDate: new Date(),
todayBtn: true,
minuteStep: 5,
language: 'en',
forceParse: false
});
就像我说的,如果我删除参数startDate,我可以选择过去的日期,但我的默认显示日期是1899而不是当前日期:
$(".form_datetime").datetimepicker({
format: "mm/dd/yyyy HH:ii P",
autoclose: true,
showMeridian: true,
//startDate: new Date(),
todayBtn: true,
minuteStep: 5,
language: 'en',
forceParse: false
});
我如何保留两件事:默认选择过去日期并显示当前日期? 我也试过添加这样的新功能,但它既没有工作:
$(".form_datetime").datetimepicker({
format: "mm/dd/yyyy HH:ii P",
autoclose: true,
showMeridian: true,
//startDate: new Date(),
todayBtn: true,
minuteStep: 5,
language: 'en',
forceParse: false
}).on('dp.show', function () {
return $(this).data('DateTimePicker').defaultDate(new Date());
});
答案 0 :(得分:0)
要满足您的要求,您可以使用defaultViewDate
和endDate
选项。请参阅官方文档,了解两者的工作原理:https://bootstrap-datepicker.readthedocs.io/en/stable/options.html。
这是一个工作的掠夺者:https://plnkr.co/edit/CTrANXLLgaLwT8pIPQV2?p=preview
答案 1 :(得分:0)
以下答案与S.Malot的bootstrap-datetimepicket有关,但它可能也适用于其他版本,例如jquery-bootstrap。
!由于该解决方案需要更改源代码,因此请仔细进行操作,然后再次测试您的应用程序,以确保它不会带来有害的副作用。我这边一切都很好。
我一直在寻找解决方案,最后在github Malot中喜欢它。感谢abcbaby。
我用他/她的建议更新了bootstrap-datetimepicker.js的 第1620行 :
更改此
date = new Date(0, 0, 0, 0, 0, 0, 0), // which is Dec. 31, 1899
对此
date = new Date(), // which is today's date
为使内容回到上下文,我使用的是法语区域(regional: 'fr',
)和语言(language: 'fr',
),需要在打开页面时显示当前日期(日期无需时间)在成员文件的“开始日期”字段中。为此,我在HTML代码中将PHP echo
函数与date ("d F Y")
一起使用。
只要通过窗口小部件输入日期,一切都可以正常工作,但是对于在窗口小部件外部接收值的字段,只要您单击该字段,日期就会重置为1899年12月31日。
有了此代码hack,我不再有这个问题。