如何在javascript中动态创建日期?

时间:2018-07-08 10:33:01

标签: javascript

let date = new Date();
 let days = 
['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
let months = ['January','February','March','April','May','June','July','August','September',' 
  October','November','December'];





 alert(days[date.getDay(1)])
 alert( months[date.setMonth(3)]) 
 alert(date.setDate(30))

let add = document.getElementById("add");
add.addEventListener('click',function generateHTML(){
let parentselector = document.querySelector('section');
let tagname = document.createElement('div');
parentselector.appendChild(tagname);
tagname.className = "tagname";
let childelement1 = document.createElement('div')
childelement1.className = 'number0'
tagname.appendChild(childelement1)
   for(k = 1; k < 16; k++){
    let  childelement = document.createElement('div');
     tagname.appendChild(childelement);
     childelement.className = "number";
     childelement.classList.add(`number${k}`)
     childelement.style.backgroundColor ='red'
     let text = document.createTextNode('0')
     childelement.appendChild(text) 
   }
   tagname.firstElementChild.style.backgroundColor = 'green'

  yes();
    })




 let remove = document.getElementById("remove");
  remove.addEventListener('click', function remove() {
    let elem = document.getElementsByClassName("tagname")
    elem[elem.length-1].remove();


  })

我通过单击添加按钮并通过单击删除按钮删除最近添加的日期,在我的JavaScript代码中动态创建日期。现在我要做的是从4月30日星期一开始以这种格式添加日期,并以2,2,1,2的间隔增加日期。因此第一周应包含4月30日星期一,5月2日星期三,5月4日星期五。 5月5日,星期六,5月7日,星期六,依此类推。当我按下删除按钮时,我希望它删除在整个列中添加的最后一个日期,并在单击添加按钮后添加相同的日期。该日期应写在div中,类号为0.我该如何仅使用javasript? / p>

1 个答案:

答案 0 :(得分:0)

一种方法是将开始日期设置为4月30日。然后,每次调用getNextDate()函数时,它将返回关于increments间隔的新日期。

var startDate = new Date(new Date('04/30/2018').getTime());
var increments = [2,2,1,2];
var nextIncrementIndex = 0;

function getNextDate(){

    var increment = increments[nextIncrementIndex];
    nextIncrementIndex+= 1;
    if(increment === undefined){
        increment = increments[0];
        nextIncrementIndex = 1;
    }
    var nextDate = startDate;
    nextDate.setDate(startDate.getDate() + increment );
    return nextDate;
}