繁体   English   中英

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

[英]How do I create date dynamically in 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?

一种方法是将开始日期设置为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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM