Дата не работает — значение тега в setFullYear

#javascript

#javascript

Вопрос:

 var d = new Date();

var gunler= ["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"];
document.getElementById("gun").innerHTML = gunler[d.getDay()];

var ic = document.getElementsByClassName("i");
var dis = document.getElementsByClassName("d");

var ll = document.getElementById("seciligun");
var ll2 = ll.innerHTML;

alert(ll2);
    

d.setFullYear(ll2);


var a=0;
while(a<ic.length){
if(gunler[d.getDay()]=="Cumartesi"||gunler[d.getDay()]=="Pazar"){
    ic[a].innerHTML="";
}
else{
    dis[a].innerHTML="";
}
a=a 1;
}
  

Я использую эти коды в своем js-файле, я беру дату в своем теге div, который id = seciligun. Когда я использую alert, это выглядит так: 2020-08-15, но когда я говорю alert (d), браузер выдает «недопустимая дата». Если я напишу так d.setFullYear (2020-08-15), все будет работать правильно, но мне нужно использовать значение тега, которое id = seciligun.

Комментарии:

1. Аргументом для setFullYear должен быть просто год, а не целая дата.

Ответ №1:

Вам нужно извлечь год из ll2 .

 var y = ll2.split('-')[0];
d.setFullYear(y);
  

Комментарии:

1. Спасибо, я решил свою проблему, но я немного изменил ваш код, когда попробовал это, все работало правильно: var y = ll2.split(«-«); y [1]= y [1] -1; d.setFullYear (y[0], y [1], y [2]);

2. Я предположил, что вы просто хотели установить год, а не месяц и день.