如何在 HTML5 输入类型 Date 中限制过去的日期?

新手上路,请多包涵

我试图在 input type="date" 中限制过去的日期。我可以限制未来的日期,但如何限制过去的日期?

 $(function(){
    var dtToday = new Date();

    var month = dtToday.getMonth() + 1;
    var day = dtToday.getDate();
    var year = dtToday.getFullYear();
    if(month < 10)
        month = '0' + month.toString();
    if(day < 10)
        day = '0' + day.toString();

    var minDate= year + '-' + month + '-' + day;

    $('#txtDate').attr('min', minDate);
});
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="txtDate" />

原文由 user7397787 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

你可以试试这个

 var maxDate = year + '-' + month + '-' + day;
    alert(maxDate);
    $('#txtDate').attr('min', maxDate);

 $(function(){
    var dtToday = new Date();

    var month = dtToday.getMonth() + 1;
    var day = dtToday.getDate();
    var year = dtToday.getFullYear();
    if(month < 10)
        month = '0' + month.toString();
    if(day < 10)
        day = '0' + day.toString();

    var maxDate = year + '-' + month + '-' + day;

    // or instead:
    // var maxDate = dtToday.toISOString().substr(0, 10);

    alert(maxDate);
    $('#txtDate').attr('min', maxDate);
});
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="txtDate" />

原文由 Dhiraj 发布,翻译遵循 CC BY-SA 4.0 许可协议

这是一个 PHP 解决方案,它获取今天的日期并将其设置为最小值。

 <input type="date" id="txtDate" min="<?php echo date("Y-m-d"); ?>">

这将把它放在正确的日期和月份的两位数格式中。 https://www.php.net/manual/en/function.date.php

原文由 Painguin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题