Premiär! Fyndchans i SweClockers Månadens Drop

Javascript: Hjälp med att göra ett javascript som hittar första lördagen i september!

Permalänk
Medlem

Javascript: Hjälp med att göra ett javascript som hittar första lördagen i september!

Hej,
jag behöver hjälp med att göra ett javascript som hittar vilket datum (i det här formatet: 2 September 2017) första lördagen i september är.

Alla tips är välkommna!
Tack i förväg!

Permalänk
Medlem

skapa en variabel som innehåller 1 september, stega sedan fram en dag i taget tills det är lördag.
se getDay()

Visa signatur

as far as we can tell, the massacre went well...

Permalänk
Medlem

Lösning

det slutade med den här koden: https://jsfiddle.net/n3wsw3/mv6ruaha/

Permalänk
Medlem

Jag tog och skrev om din kod lite för att göra det något mindre. Det bör vara exakt samma funktionalitet som det du hade tidigare men tar lite mindre plats och använder färre variabler.

Har javascripts koden för den kortare versionen nedanför ifall du är intresserad:

var d = new Date(); var year = parseInt(d.getMonth()) > 9 ? d.getFullYear() + 1 : d.getFullYear(); var day = new Date(year + "-" + "09-01").getDay(); document.getElementById("date").innerHTML = (6-(day-1)) + " September " + year;

Det går självklart att optimera ytterligare men gjorde mest ett par grundliga ändringar som fortfarande håller samma funktion. Sedan finns det ett specialfall som jag inte tycks hålls. Ur koden ser jag att syftet är att man ska ta fram nästa gång den första lördagen i september framkommer. Därför tar du nästa år ifall man redan är förbi september månad. Dock får man problem om man är i september månad men redan gått förbi första lördagen eftersom den då kommer ta ett datum som redan varit (Eftersom man inte är förbi september månad än).

Permalänk
Medlem
Skrivet av AfterShock:

Jag tog och skrev om din kod lite för att göra det något mindre. Det bör vara exakt samma funktionalitet som det du hade tidigare men tar lite mindre plats och använder färre variabler.

Har javascripts koden för den kortare versionen nedanför ifall du är intresserad:

var d = new Date(); var year = parseInt(d.getMonth()) > 9 ? d.getFullYear() + 1 : d.getFullYear(); var day = new Date(year + "-" + "09-01").getDay(); document.getElementById("date").innerHTML = (6-(day-1)) + " September " + year;

Det går självklart att optimera ytterligare men gjorde mest ett par grundliga ändringar som fortfarande håller samma funktion. Sedan finns det ett specialfall som jag inte tycks hålls. Ur koden ser jag att syftet är att man ska ta fram nästa gång den första lördagen i september framkommer. Därför tar du nästa år ifall man redan är förbi september månad. Dock får man problem om man är i september månad men redan gått förbi första lördagen eftersom den då kommer ta ett datum som redan varit (Eftersom man inte är förbi september månad än).

meningen är att den ska uppdateras i oktober, Tack för fin justering!

Permalänk
Medlem
Skrivet av n3wsw3:

meningen är att den ska uppdateras i oktober, Tack för fin justering!

I sådana fall borde koden vara korrekt.