Je veux que le résultat soit 2018-2020. Ça ne marche pas pour moi. Qu'est-ce que je rate?

Merci

function todaysDate() {
  var today = new Date();
  var date = today.getFullYear();
  var date2 = today.getFullYear()+2;            
  var both = date +"-"+date2;
  return date;
}

Cela n'a pas non plus fait ce que je voulais

function todaysDate() {
  var today = new Date();
  var date = (today.getFullYear() +"-"+today.getFullYear()+2);
  return date;
}
-5
dummyUser 16 avril 2018 à 12:24

6 réponses

Meilleure réponse

Le code lui-même lors de votre première tentative fonctionne, à l'exception de la dernière ligne. Pour l'instant, vous retournez simplement la première date et ignorez la seconde et la chaîne de dates combinée. J'espère que vous aviez l'intention de renvoyer la chaîne qui indique les deux dates.

return both;

Devrait résoudre votre problème. Démo:

function todaysDate() {
  var today = new Date();
  var date = today.getFullYear();
  var date2 = today.getFullYear()+2;
  var both = date +"-"+date2;
  return both;
}
console.log(todaysDate());

Peut-être que c'était juste une faute de frappe ou une erreur.

J'envisagerais également de donner un meilleur nom à votre fonction, car elle ne renvoie pas réellement la date d'aujourd'hui.

1
ADyson 16 avril 2018 à 09:29

Dans ce cas, vous obtenez une chaîne lorsque vous concaténez. Veuillez l'analyser en entier

C'est à dire,

function todaysDate() {
  var today = new Date();
  var date = (today.getFullYear() +"-"+ (parseInt(today.getFullYear())+2));
  return date;
}
1
Manu AVS 16 avril 2018 à 09:41

La première fonction ne fonctionne pas car vous renvoyez une var incorrecte.

function todaysDate() {
  var today = new Date();
  var date = today.getFullYear();
  var date2 = today.getFullYear()+2;            
  var both = date +"-"+date2;
  return both;
}

Le second ne fonctionne pas parce que vous faites une mauvaise concaténation

function todaysDate() {
  var today = new Date();
  var date = (today.getFullYear() +"-"+ (today.getFullYear()+2)); //extra brackets for maintaining int value instead of concatinating
  return date;
}
1
Anand Siddharth 16 avril 2018 à 09:30

Essayez celui-ci, devrait le faire

function todaysDate() {
  var today = new Date();
  var date = (Number(today.getFullYear()) +"-"+Number(today.getFullYear()+2));
  return date;
}
0
JohnPan 16 avril 2018 à 09:30

Votre première fonction ne retourne pas ce que vous voulez. Essayer

function todaysDate() {
  var today = new Date();
  var date = today.getFullYear();
  var date2 = today.getFullYear()+2;            
  var both = date +"-"+date2;
  return both;
}
0
Arnaud Stephan 16 avril 2018 à 09:29

Votre premier exemple fonctionnera, vous retournez la date au lieu des deux

function todaysDate() {
  var today = new Date();
  var date = today.getFullYear();
  var date2 = today.getFullYear()+2;            
  var both = date +"-"+date2;
  return both;
}
0
Siva Rm K 16 avril 2018 à 09:44