Jump to content

datepicker minDate based on time of day


bravo14

Recommended Posts

Hi Guys

 

I have got a datepicker on a site and have set the minDate to be tomorrow.

 

 

<script>
 $(function() {
  $( "#delDate" ).datepicker({
            dateFormat: 'd MM yy',
            changeMonth: true,
   changeYear: true,
   minDate: "+1D",
   constrainInput: true,
      beforeShowDay: noWeekendsOrHolidays
  });
 });
 </script>

 

What I want to do is set the minDate to +2 if the time is after 5pm, anybody got any guidance on how to achieve this.

 

Link to comment
https://forums.phpfreaks.com/topic/277748-datepicker-mindate-based-on-time-of-day/
Share on other sites

Try this...

<script>
    $(function() {
        $( "#delDate" ).datepicker({
            dateFormat: 'd MM yy',
            changeMonth: true,
            changeYear: true,
            minDate: "+1D",
            constrainInput: true
        });

        var currentdate = new Date();

        if (currentdate.getHours() >= 17) {
            currentdate.setDate(currentdate.getDate() + 2);

            $( "#delDate" ).datepicker( "option", "minDate", currentdate);

        }
    });
</script>
  • 2 weeks later...
  On 5/7/2013 at 2:30 PM, DarkKnight2011 said:

 

Try this...

<script>
    $(function() {
        $( "#delDate" ).datepicker({
            dateFormat: 'd MM yy',
            changeMonth: true,
            changeYear: true,
            minDate: "+1D",
            constrainInput: true
        });

        var currentdate = new Date();

        if (currentdate.getHours() >= 17) {
            currentdate.setDate(currentdate.getDate() + 2);

            $( "#delDate" ).datepicker( "option", "minDate", currentdate);

        }
    });
</script>

 

I've been googling for a few hours and just stumbled upon this. It works great for me but how could I modify it to target a time with minutes like 11:30.

 

Here's what I have but it's not working out so well.

// Check time
var currentdate = new Date();
var hour = now.getHours(); 
var mintues = now.getMinutes();
			
// if time is after 11:30 change start date.
if ((hour*60 + mintues) >= 690) {
	currentdate.setDate(currentdate.getDate() + 2);
	$( "#delnote" ).datepicker( "option", "minDate", currentdate);
}

Thanks,

Jesse

Fixed it, thanks for the initial start!

// Check time
var currentdate = new Date();
var hour = currentdate.getHours(); 
var mintues = currentdate.getMinutes();
			
// if time is after 11:30 change start date.
if ((hour*60 + mintues) >= 690) {
	currentdate.setDate(currentdate.getDate() + 2);
	$( "#delnote" ).datepicker( "option", "minDate", currentdate);
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.