我们根据代码一边调试一边探讨:
获取当前时间赋值到变量上
整体代码:
var myDate = new Date();//获取当前日期
var day = (“0” + myDate.getDate()).slice(-2);//日:若小于9,前面补上0
var Month = (“0” + (myDate.getMonth() + 1)).slice(-2);//月:若小于9,前面补上0
var shijian = myDate.getFullYear() + “-” + Month + “-” + day;
document.getElementById(“borrowDate”).value = shijian;
slice()把匹配元素集合缩减为指定的指数范围的子集。
getFullYear()从 Date 对象以四位数字返回年份。
申明一个myData等于new Date,通过 new 关键词来定义 Date 对象然后在页面console.log(myDate)输出myData我们可以看到
也就是这个获取到的就是当前中国的标准时间,又因为我们需要的内容只是上面的一部分并且要进行赋值所以我们又要分开获取到我们需要的内容。
图中我们省略掉了子集的第一位数,所以指示从集合末端开始的偏移量,当日期小于九的时候为了符合日期的格式需要在前面加上0。
获取到当前的日期以后,再按照同样的方法获取月然后就是进行字符串的拼接,
申明变量通过myDate.getFullYear()获取当前的年份,拼接上字符与获取到的时间就可以了。
获取到需要赋值的ID的value值让它等于拼接的字符串shijian即可。
整体的代码:
var myDate = new Date();//获取当前日期
var day = (“0” + myDate.getDate()).slice(-2);//日:若小于9,前补上0
var Month = (“0” + (myDate.getMonth() + 1)).slice(-2);//月:若小于9,前面补上0
var shijian = myDate.getFullYear() + “-” + Month + “-” + day;
document.getElementById(“borrowDate”).value = shijian;
默认为其一个月的时间设置
整体代码:
var myDate = new Date();//获取当前日期
var day = (“0” + myDate.getDate()).slice(-2);//日:如果小于9,前补上0
var NewMonth = (“0” + (myDate.getMonth() + 2)).slice(-2);//月:若小于9,前面补上0
var expireDate = myDate.getFullYear() + “-” + NewMonth + “-” + day;
document.getElementById(“expireDate”).value = expireDate;
在月份的获取myDate.getMonth()后面加上2意为在原有的月份上加上多一个月。后面进行字符串的拼接,赋值。这样做的写法可以设置在原有的基础上实现回填日期对象时在本真是时间的基础上多加一个月,多用于图书馆借书的还书功能。
两个日期的对比得出相减日期
整体代码:
function GetDays(date1, date2) {
//date1:开始日期,date2结束日期
var a1 = Date.parse(new Date(date1));
var a2 = Date.parse(new Date(date2));
var day = parseInt((a2 - a1) / (1000 * 60 * 60 * 24));//核心:时间戳相减,然后除以天数
return day
}
parseInt()函数返回由一个字符串定义的浮点数
Date()返回当日的日期和时间。
在函数内放进两个参数,对两个参数进行处理,最后进行对比申明一个day出来接收两个日期的运算结果。
最后进行调用就可以了。
Eg:
function BorrowDays(rowData) {
var BorrowDays = GetDays(borrowDate(rowData), Today());
return BorrowDays;
}