Shows the wrong date

4

I have this script:

<SCRIPT LANGUAGE="JAVASCRIPT">
<!--    
var now = new Date();
var mName = now.getMonth() +1 ;
var dName = now.getDay() +2;
var dayNr = now.getDate() +1;
var yearNr=now.getYear();
if(dName==1) {Day = "Domingo";}
if(dName==2) {Day = "Segunda-feira";}
if(dName==3) {Day = "Terça-feira";}
if(dName==4) {Day = "Quarta-feira";}
if(dName==5) {Day = "Quinta-feira";}
if(dName==6) {Day = "Sexta-feira";}
if(dName==7) {Day = "Sábado";}
if(mName==1){Month = "Janeiro";}
if(mName==2){Month = "Fevereiro";}
if(mName==3){Month = "Março";}
if(mName==4){Month = "Abril";}
if(mName==5){Month = "Maio";}
if(mName==6){Month = "Junho";}
if(mName==7){Month = "Julho";}
if(mName==8){Month = "Agosto";}
if(mName==9){Month = "Setembro";}
if(mName==10){Month = "Outubro";}
if(mName==11){Month = "Novembro";}
if(mName==12){Month = "Dezembro";}
if(yearNr < 2000) {Year = 1900 + yearNr;}
else {Year = yearNr;}
var todaysDate =(" " + Day + ", " + dayNr + " de " + Month + " de " + Year);

document.write('  '+todaysDate);

//-->
</SCRIPT>

Result:

NowIwanttoshowyouthedayofFriday,June1:        

varnow=newDate();varmName=now.getMonth()+1;vardName=now.getDay()+3;vardayNr=now.getDate()+2;varyearNr=now.getYear();if(dName==1){Day="Domingo";}
if(dName==2) {Day = "Segunda-feira";}
if(dName==3) {Day = "Terça-feira";}
if(dName==4) {Day = "Quarta-feira";}
if(dName==5) {Day = "Quinta-feira";}
if(dName==6) {Day = "Sexta-feira";}
if(dName==7) {Day = "Sábado";}
if(mName==1){Month = "Janeiro";}
if(mName==2){Month = "Fevereiro";}
if(mName==3){Month = "Março";}
if(mName==4){Month = "Abril";}
if(mName==5){Month = "Maio";}
if(mName==6){Month = "Junho";}
if(mName==7){Month = "Julho";}
if(mName==8){Month = "Agosto";}
if(mName==9){Month = "Setembro";}
if(mName==10){Month = "Outubro";}
if(mName==11){Month = "Novembro";}
if(mName==12){Month = "Dezembro";}
if(yearNr < 2000) {Year = 1900 + yearNr;}
else {Year = yearNr;}
var todaysDate =(" " + Day + ", " + dayNr + " de " + Month + " de " + Year);

document.write('  '+todaysDate);

//-->
</SCRIPT>

But it is showing May 32, as shown in the image:

    
asked by anonymous 30.05.2018 / 12:39

1 answer

3

With code var dName = now.getDay() +3 and var dayNr = now.getDate() +2; you no is adding days to date, you are first picking up the current date number and then adding a value to this number, ie you you are not adding two days to the current date, you are adding the number two to the number thirty .

To add days you need to manipulate the date and not the value of the methods.

Example of how to add days to a date:

var now = new Date();
now.setDate(now.getDate() + 2); // aqui vem a adição de dois dias
var dName = now.getDay(); // aqui não precisa mais somar, já é sexta-feira
var dayNr = now.getDate(); // aqui já é 01/06/2018

...

In addition, I do not know if you are already familiar with vectors / arrays, but you would not need ifs and elses.

var meses = ["jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"];
nomeDoMes = meses[now.getMonth()];

With the example above, the variable nomeDoMes will have the value "mai" , and does not even have to "+1" , because the vector also starts from zero.

        var now = new Date();
        now.setDate(now.getDate() + 2); // aqui vem a adição de dois dias
        var dName = now.getDay(); // aqui não precisa mais somar, já é sexta-feira
        var dayNr = now.getDate(); // aqui já é 01/06/2018
        var mName = now.getMonth() +1 ;
        var yearNr=now.getYear();
        
        if(dName==1) {Day = "Domingo";}
        if(dName==2) {Day = "Segunda-feira";}
        if(dName==3) {Day = "Terça-feira";}
        if(dName==4) {Day = "Quarta-feira";}
        if(dName==5) {Day = "Quinta-feira";}
        if(dName==6) {Day = "Sexta-feira";}
        if(dName==7) {Day = "Sábado";}
        if(mName==1){Month = "Janeiro";}
        if(mName==2){Month = "Fevereiro";}
        if(mName==3){Month = "Março";}
        if(mName==4){Month = "Abril";}
        if(mName==5){Month = "Maio";}
        if(mName==6){Month = "Junho";}
        if(mName==7){Month = "Julho";}
        if(mName==8){Month = "Agosto";}
        if(mName==9){Month = "Setembro";}
        if(mName==10){Month = "Outubro";}
        if(mName==11){Month = "Novembro";}
        if(mName==12){Month = "Dezembro";}
        if(yearNr < 2000) {Year = 1900 + yearNr;}
        else {Year = yearNr;}
        var todaysDate =(" " + Day + ", " + dayNr + " de " + Month + " de " + Year);

        document.write('  '+todaysDate);
    
30.05.2018 / 13:10