Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery ui datepicker, get Day of week from onSelect

Is it possible to get the day of the week from the onSelect event of the datepicker.

I know I can get the day of the month, but I want the day of the week. Even just the day index will be fine e.g. 0-6.

I know you can get it in the beforeShowDay (or similar) event, but I need to react differently depending on the day of the week chosen. It's to do with setting the opening times.

I could hit the server and find out, but that is not going to come back fast enough...ideally i want it all done on the client.

like image 285
SteveCl Avatar asked Mar 08 '11 19:03

SteveCl


2 Answers

This should do the trick:

function(event, ui) {
    var date = $(this).datepicker('getDate');
    var dayOfWeek = date.getUTCDay();
};

This has the advantage of not needing to parse whatever arbitrary date format you've chosen for the Datepicker's text field - the getDate method returns a native Javascript Date object which you can then easily extract the date fields you need.

like image 67
Alnitak Avatar answered Nov 06 '22 02:11

Alnitak


Also, if you want the actual name of the day of the week (without using the getUTCDay index into a array of something like ['Sunday', 'Monday', ...], you can use the datepicker object itself to give this to you, like below

var curDate = $(this).datepicker('getDate');
var dayName = $.datepicker.formatDate('DD', curDate);

This can also be used to get a shortened day of the week name (M), long or short day of the month (MM or M) by substituting DD for whatever component you're after.

like image 36
Bradley Bossard Avatar answered Nov 06 '22 03:11

Bradley Bossard