一只刚入行的小菜鸟,大神请指教
最近项目有用到相关时间的处理,记录一下
当前时间的函数处理:
var getFormat = function ()
{
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hours = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
month = month<10?'0' + month:month;
day = day<10?'0' + day:day;
hours = hours<10?'0' + hours:hours;
minutes = minutes<10?'0' + minutes:minutes;
seconds = seconds<10?'0' + seconds:seconds;
var str = year + '年' + month + '月' + day + '日 ' + " " + hours + ":" + minutes +":" + seconds;
return str;
};
console.log(getFormat());
// 2019年01月06日 19:09:27
获取以当前时间为准的时间差:
var GetDateStr = function (AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
var y = dd.getFullYear();
var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//获取当前月份的日期,不足10补0
var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//获取当前几号,不足10补0
var h = (dd.getHours())<10?"0"+(dd.getHours()):(dd.getHours());
var ms = (dd.getMinutes())<10?"0"+(dd.getMinutes()):(dd.getMinutes());
var s = (dd.getSeconds())<10?"0"+(dd.getSeconds()):(dd.getSeconds());
return y+"-"+m+"-"+d+" "+h+":"+ms+":"+s;
};
//以 当前时间为基准 :2019-01-06 19:21:58
console.log("半年前:"+GetDateStr(-180)); //半年前:2018-07-10 19:18:59
console.log("三月前:"+GetDateStr(-90)); //三月前:2018-10-08 19:18:59
console.log("一月前:"+GetDateStr(-30)); //一月前:2018-12-07 19:18:59
console.log("昨天:"+GetDateStr(-1)); //昨天:2019-01-05 19:18:59
console.log("今天:"+GetDateStr(0)); //今天:2019-01-06 19:21:58
console.log("后天:"+GetDateStr(2)); //后天:2019-01-08 19:21:58
console.log("一月后:"+GetDateStr(30)); //一月后:2019-02-05 19:21:58
console.log("三月后:"+GetDateStr(90)); //三月后:2019-04-06 19:21:58
console.log("半年后:"+GetDateStr(180)); //半年后:2019-07-05 19:21:58
console.log("一周:"+GetDateStr(-7)); //一周:2018-12-30 19:21:58
获取每个月份的天数:
var getCountDays = function () {
var curDate = new Date();
var curMonth = curDate.getMonth(); // 注意当前月份没有加 1
var d = curDate.getDate();
var y = curDate.getFullYear();
/**下面的方法只是在项目中需要用到获取本月到本年的1月1日的所有天数**/
var cc = null;
var dateSum = null;
var str = [1,2,3,4,5,6,7,8,9,10,11,12]; // 默认列出了一年的所有月份
for(var i = 0;i<str.length;i++){
if(curMonth+1 == str[i] && curMonth != 0){ // 判断当前月份与数组中的月份相等,
cc = str.slice(0,i+1); // 保留与数组中匹配的月份之前的所有数
for(var i = 0;i<cc.length;i++){
var day = new Date(y,str[i],0);
dateSum += day.getDate(); // 这里是本月到今年1月1日的所有天数
}
}
}
if(d == 1){ // 这是个人需求 如果是每月的1日的话,需要的是上个月的所有天数
curDate.setMonth(curMonth); // 可以根据传入相关的月份来进行获取相关月份的天数 curMonth
}else {
curDate.setMonth(curDate.getMonth() + 1);
}
/*******************上面的方法只是记录 如果没有用到请忽略 ****************************/
/* 将日期设置为0, 这里为什么要这样设置, 我不知道原因, 这是从网上学来的 */
curDate.setDate(0);
/* 返回当月的天数 */
return curDate.getDate();
}
上面所述方法都是浏览其他大神微博进行需求修改,如原作不适,请联系QQ435253164进行删除,再次说声抱歉。