2010-07-13 13 views
-3

J'ai besoin d'un troisième lundi en janvier. J'essaye ceci est javascriptgetThirdMondayInJanuary(): Ne fonctionne pas

** @ les gars qui ont commenté: J'essayais d'implémenter ceci.

<script type="text/javascript"> 
    $(document).ready(function() { 
    $('#holidayDate').datepicker(); 
    var availableTags = ["New years Day", "Martin Luther King Day", "Groundhog Day", "Valentine's Day", "Washington's Birthday", 
"Easter", "Earth Day", "National Arbor Day", "Mother's Day", "Memorial Day", "Flag Day", "Father's Day", "Independence Day", 
"Labor Day", "Columbus Day", "Halloween", "Veterans Day", "Thanksgiving Day", "Pearl Harbor Remembrance Day", "Christmas Day"]; 
    $("#tags").autocomplete({source:availableTags}); 
    $('#holidayDate').change(function() { 
var dateString = $(this).val().substring(0, 5); 
var res = ""; 
switch (dateString) { 
    case '01/01': res = availableTags[0]; break; 
    case getThirdMondayInJanuary(): res = availableTags[1]; break; 
    case '02/02': res = availableTags[2]; break; 
    case '02/14': res = availableTags[3]; break; 
    case '04/22': res = availableTags[6]; break; 
    case '06/14': res = availableTags[10]; break; 
    case '07/04': res = availableTags[12]; break; 
    case '10/31': res = availableTags[15]; break; 
    case '11/11': res = availableTags[16]; break; 
    case '12/07': res = availableTags[18]; break; 
    case '12/25': res = availableTags[19]; break; 
    }   
    $('#tags').val(res); 
    }); 
    }); 
    </script>  
+4

est-getThirdMondayInJanuary effectivement mis en œuvre, ou étiez-vous En espérant que l'ordinateur le ferait pour vous? – Borealid

+3

J'ai essayé d'appeler 'fixMyProgram()', mais cela n'a pas fonctionné. Dois-je appeler 'fixMyProgramPlease()' à la place? –

+2

J'ai besoin d'argent 'getMe1MillionDollars()' ne fonctionne pas ?? ;) –

Répondre

3

peut-être si vous avez changé votre code (non testé):

getThirdMondayInJanuary(): // this is working! 
+0

Prouvez par google :) +1 –

11
  1. Modifier le côlon à un point-virgule.
  2. Implémentez la méthode.
7

Cette question est si grave qu'elle n'est même pas drôle. Mais au moins, vous savez comment commenter, alors je vais essayer de vous aider.

Utilisez cette bibliothèque: http://code.google.com/p/datejs/

Date().next().january().third().Monday();

+0

Ceci est une réponse réellement utile, à mon grand étonnement. +1 –

1

Voici une fonction pour obtenir le troisième lundi de Janvier de chaque année comme date:

function getThirdMondayInJanuary(year) { 
    var jan1 = new Date(year, 0, 1), d = jan1.getDay(); 
    return new Date(year, 0, (d<2?16:23)-d); 
}