项目中有 时间控件默认设置 起始时间为 本月第一天、截止时间是 当前日期的后一天 的需求,所以记录了一下
时间格式化:
//日期格式化,返回值形式为yy-mm-dd
timeFormat: function (date) {
if (!date || typeof(date) === "string") {
this.error("参数异常,请检查...");
}
var y = date.getFullYear(); //年
var m = date.getMonth() + 1; //月
var d = date.getDate(); //日
return y + "-" + m + "-" + d;
},
本周第一天:
//获取这周的周一
function getFirstDayOfWeek (date) {
var weekday = date.getDay()||7; //获取星期几,getDay()返回值是 0(周日) 到 6(周六) 之间的一个整数。0||7为7,即weekday的值为1-7
date.setDate(date.getDate()-weekday+1);//往前算(weekday-1)天,年份、月份会自动变化
return this.timeFormat(date);
}
本月第一天:
//获取当月第一天
getFirstDayOfMonth: function (date) {
date.setDate(1);
return this.timeFormat(date);
},
本季度第一天:
//获取当季第一天
function getFirstDayOfSeason (date) {
var month = date.getMonth();
if(month <3 ){
date.setMonth(0);
}else if(2 < month && month < 6){
date.setMonth(3);
}else if(5 < month && month < 9){
date.setMonth(6);
}else if(8 < month && month < 11){
date.setMonth(9);
}
date.setDate(1);
return this.timeFormat(date);
}
当年第一天:
//获取当年第一天
function getFirstDayOfYear (date) {
date.setDate(1);
date.setMonth(0);
return this.timeFormat(date);
}
调用方法:
setTimeFun:function () {
var date = new Date();
var today= this.timeFormat(date) //当前日期
console.log("当前日期:"+today)
var next = new Date(date.getTime() + 24*60*60*1000);
var nextDate = this.timeFormat(next) //当前日期后一天
console.log("当前日期:"+nextDate )
var firstDayOfMonth = this.getFirstDayOfMonth(date) //本月第一天
console.log("本月第一天:"+firstDayOfMonth )
//........省略其他打印
}