js date加一天

JavaScript016

js date加一天,第1张

js date加一天是什么?一起来看看吧:

js date加一天是一个轻量的 JavaScript 时间日期处理库。与 Moment.js 的 API 设计保持一致,随着moment的包逐渐变大,官方已经决定未来停止维护相关moment.js库,并且官网也推荐使用dayjs库,因为它有很多优势。

其主要特性如下:

1、与 Moment.js 相同的 API 和用法

2、不可变数据(Immutable)

3、支持链式操作(Chainable)

4、只有 2kb 大小(一些高级用法以扩展的形式存在,可按需加载)

5、全浏览器兼容

6、强大的国际化支持(I18n)

代码示例:

1、以当前日期new date()为例,也可以将例中new date()换成任意date对象

var d = new Date()     d.setTime(d.getTime()+24*60*60*1000)     var s = d.getFullYear()+"-" + (d.getMonth()+1) + "-" + d.getDate()

2、获取今天的0时0分0秒

var startDate= new Date(new Date().toLocaleDateString()) //Wed March 09 2022 00:00:00 GMT+0800 (中国标准时间)

3、获取一个月前的日期

var lastM =new Date(new Date().setMonth(new Date().getMonth()-1))//Wed Feb 09 2022 13:38:08 GMT+0800 (中国标准时间)

4、获取一个月前的0时0分0秒

var lastM_start =new Date(new Date(new Date().toLocaleDateString()).setMonth(new Date().getMonth()-1)) //Wed Feb 09 2022 00:00:00 GMT+0800 (中国标准时间)

5、获取前一天的日期

var yesterday = new Date(new Date().setDate(new Date().getDate()-1))//Wed March 08 2022 13:41:39 GMT+0800 (中国标准时间)

6、获取今天的23时59分59秒

var endDate = new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60*1000-1)//Wed March 09 2022 23:59:59 GMT+0800 (中国标准时间)

7、获取昨天的23时59分59秒

new Date().setDate(new Date().getDate()-1)).toLocaleDateString()).getTime()+24*60*60*1000-1)//Wed March 08 2022 23:59:59 GMT+0800 (中国标准时间)

是<input type=text name = date" + i + "

这个text的日期等于前一个的日期加1吗?

看代码:

<input type=text id=hidden value=0>

<table id="table1">

<TR>

<TD>

<DIV><INPUT ondblclick=addrowsother(this.value) name=date1 value="2001-1-21"></DIV></TD>

<TD>

<DIV><SELECT name=time1><OPTION selected value=上午>上午</OPTION><OPTION value=下午>下午</OPTION></SELECT></DIV></TD>

<TD>

<DIV><INPUT onclick=abc()name=richeng 1></DIV></TD>

<TD>

<DIV><INPUT name=partical 1></DIV></TD>

<TD>

<DIV><INPUT name=address 1></DIV></TD>

<TD>

<DIV><INPUT ondblclick=addrows()name=Zcr 1></DIV></TD></TR>

</table>

<SCRIPT LANGUAGE="JavaScript">

function addrowsother(val) {

var i = parseInt(document.getElementById("hidden").value)+1

var x = document.getElementById("table1").insertRow()

var h1 = x.insertCell(0)

var h2 = x.insertCell(1)

var h3 = x.insertCell(2)

var h4 = x.insertCell(3)

var h5 = x.insertCell(4)

var h6 = x.insertCell(5)

h1.innerHTML = "<div><input type=text name = date" + i + " ondblclick='addrowsother(this.value)' value='" + addday(val, 1) + "'></div>"

h2.innerHTML = "<div><select name=time" + i + " ><option value=上午>上午</option><option value=下午>下午</option></select></div>"

h3.innerHTML = "<div><input name=richeng " + i + " type=text onclick=abc()></div>"

h4.innerHTML = "<div ><input name=partical " + i + " type=text ></div>"

h5.innerHTML = "<div><input name=address " + i + " type=text ></div>"

h6.innerHTML = "<div><input name=Zcr " + i + " type=text ondblclick='addrows()'></div>"

// document.getElementById("date" + (i)).value = document.getElementById("date" + (i - 1)).value

document.getElementById("hidden").value = i

}

function addday(dt, days){

dt = dt.replace('-', '/')//js不认2000-1-31,只认2000/1/31

var t1 = new Date(new Date(dt).valueOf() + days*24*60*60*1000)// 日期加上指定的天数

return t1.getFullYear() + "-" + (t1.getMonth() + 1) + "-" + t1.getDate()

}

</SCRIPT>

首先,你这里的日期'20140711' 不是标准的日期格式,js不认识,想要使用 new Date() 得到日期,可以把 '20140711' 格式化成js能认识的格式。如: 2014-07-11

先加转换成日期类型,然后加1天,再格式化成你要的格式。

// @param sDate yyyyMMdd格式的日期字符串

// @param days 要加上的天数

function afterNDays(sDate, days) {

    if(!sDate) return ''

    // 默认1天

    days = days || 1

    // 如果 sDate 的这个格式是不变的,那么可以使用一些方法得到 yyyy-MM-dd 这样的格式

    // 得到年部分

    var y = sDate.substring(0, 4)

    // 得到月部分

    var m = sDate.substring(4, 6)

    // 得到日部分

    var d = sDate.substring(6, 8)

    var dDate = new Date(y + '-' + m + '-' + d)

    dDate.setDate(dDate.getDate() + 1)

    // 如果想得到原来的格式,那么需要手动设置格式

    y = dDate.getFullYear()

    m = dDate.getMonth() + 1

    d = dDate.getDate()

    // 返回  yyyyMMdd格式

    return y + (m < 10 ? '0' + m : m) + (d < 10 ? '0' + d : d)

}

调用方法:

afterNDays('20140711', 1) // 得到 20140712