在平时写报表的时候,经常会使用到获取今日、昨日、明日、星期、月、年等信息的函数,使用JS工具类可以很容易的实现上述功能,
下面是我平时使用的getTime.js工具类
获取日期,dates为0代表今日、为-1代表昨日、为1代表明日:
function getDate(dates){
var dd = new Date();
dd.setDate(dd.getDate()+dates);
var y = dd.getFullYear();
var m = dd.getMonth()+1;
var d = dd.getDate();
if(d < 10 ){
d="0"+d;
}
if(m < 10){
m = "0" +m;
}
return y+"-"+m+"-"+d;
}
//获取周一:
function getMonday(){
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth()+1;
var date = d.getDate();
if(month < 10){
month = "0"+month;
}
if(date < 10){
date ="0"+date;
}
// 周
var day=d.getDay();
var monday = day!=0?day-1:6; // 本周一与当前日期相差的天数
return monday;
}
function getQFMonth(month){
var quarterMonthStart=0;
var spring=1; // 春
var summer=4; // 夏
var fall=7; // 秋
var winter=10;// 冬
if(month<3){ return spring; }
if(month<6){ return summer; }
if(month<9){ return fall; }
return winter;
};
function getQF(type,months){
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth()+1;
var qfmonth = getQFMonth(month);
if(months!=0){
if(qfmonth==10 && months>0){
year++;qfmonth=1;
}else if(qfmonth==1 && months<0){
year--;qfmonth=10;
}else{
qfmonth = qfmonth+months;
}
}
var fd = year+"-"+qfmonth+"-"+1;
var ed = "";
if(qfmonth==1 || qfmonth==10){
ed = year+"-"+(qfmonth+2)+"-"+31;
}else{
ed = year+"-"+(qfmonth+2)+"-"+30;
}
var qf = "";
if(type=="s"){
qf = fd;
}else{
qf = ed;
}
return qf;
}
//获取月份,当type为“s"表示为月初第一天,当type为”e”代表为月末那天,months为0代表本月,months为-1代表上月:
//获取月份
function getMonth(type,months){
var d = new Date();
var year = d.getFullYear();
var month = d.getMonth()+1;
if(months!=0){
// 如果本月为12月,年份加1,月份为1,否则月份加1。
if(month==12 && months>0){
year++;month=1;
}else if(month==1 && months<0){
year--;month=12;
}else{
month = month+months;
}
}
var date = d.getDate();
if(month <10){
month ="0"+month;
}
var firstday=year+"-"+month+"-"+"01";
var lastday="";
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
lastday = year+"-"+month+"-"+31;
}
else if(month==2){
// 判断是否为闰年(能被4整除且不能被100整除 或 能被100整除且能被400整除)
if((year%4==0 && year%100!=0)||(year%100==0 && year%400==0)){
lastday = year+"-"+month+"-"+29;
}else{
lastday = year+"-"+month+"-"+28;
}
}else{
lastday = year+"-"+month+"-"+30;
}
var day = "";
if(type=="s"){
day = firstday;
}else{
day = lastday;
}
return day;
}
//getyears()和获取月的参数类似的:
function getYears(type,years){
var d = new Date();
var year = d.getFullYear();
var fd = (year+years)+"-"+"01"+"-"+"01";
var ed = (year+years)+"-"+12+"-"+31;
var yr = "";
if(type=="s"){
yr = fd;
}else{
yr = ed;
}
return yr;
}