Javascript日期格式不适用于GetDay

时间:2011-06-15 10:47:46

标签: javascript jquery datepicker

我正在使用jquery datepicker,我有一个选项框,其中包含信息,具体取决于它是什么日子。

工作得很完美......

$('#bydate').datepicker({
    showOn: "button",
    buttonImage: "images/calendar.gif",
    buttonImageOnly: true,
    beforeShowDay: unavailable,
    minDate: -0,
    dateFormat: "dd/mm/yy",
    onSelect: function(e) {
    var date = new Date(e);
    var day = date.getDay(); // 0 = sunday etc...        
    // clean all the options
    $("#duration").empty();
    // if monday
    if (day === 1) {
        // add "5 days" options
        $("#duration").append("<option value='5'>5 days</option>");
    // else if friday
    } else if (day === 5) {
        // add 3 / 7 / 14 days options
        $("#duration").append("<option value='3'>3 days</option>"
                              + "<option value='7'>7 days</option>"
                              + "<option value='14'>14 days</option>");
    } else { // else...
    }
} 

直到我需要将格式从mm / dd / yy更改为dd / mm / yy。

现在它不起作用,看起来getDay正在获取月份数并尝试计算日期数...

我需要约会知道它的dd / mm / yy或getDay知道我使用的是dd / mm / yy

示例http://offline.raileisure.com/

2 个答案:

答案 0 :(得分:1)

问题是您更改了datepicker显示日期的方式,但没有更改构造函数Date()的格式。你可以这样做:

onSelect: function(e) {
e = e.split('/')[1] + '/' + e.split('/')[0] + '/' + e.split('/')[2];
var date = new Date(e);
...

答案 1 :(得分:0)

您还可以使用datepicker的parseDate函数,该函数将日期格式作为参数。有关详细信息,请参阅http://docs.jquery.com/UI/Datepicker/parseDate