js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周

  /**
* 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周
*/

  //格式化日期:yyyy-MM-dd  
function formatDate(date) {   
  var myyear = date.getFullYear();  
  var mymonth = date.getMonth()+1;  
  var myweekday = date.getDate();   
    
  if(mymonth < 10){  
    mymonth = "0" + mymonth;  
  }   
  if(myweekday < 10){  
    myweekday = "0" + myweekday;  
  }  
  return (myyear+"-"+mymonth + "-" + myweekday);   
}   
  
//获得某月的天数  
function getMonthDays(paraYear,paraMonth){  
  var monthStartDate = new Date(paraYear, paraMonth, 1);   
  var monthEndDate = new Date(paraYear, paraMonth + 1, 1);   
  var  days  =  (monthEndDate  -  monthStartDate)/(1000  *  60  *  60  *  24);   
  return  days;   
}   
  
//获得某周的开始日期  
function getWeekStartDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {   
  var weekStartDate = new Date(paraYear, paraMonth, paraDay + 1 - paraDayOfWeek);   
  return formatDate(weekStartDate);  
}   
  
//获得某周的结束日期  
function getWeekEndDate(paraYear,paraMonth,paraDay,paraDayOfWeek) {   
  var weekEndDate = new Date(paraYear, paraMonth, paraDay + (7 - paraDayOfWeek));   
  return formatDate(weekEndDate);  
}   
  
//获得某月的开始日期  
function getMonthStartDate(paraYear,paraMonth){  
  var monthStartDate = new Date(paraYear, paraMonth, 1);   
  return formatDate(monthStartDate);  
}  
  
//获得某月的结束日期  
function getMonthEndDate(paraYear,paraMonth){
  var monthEndDate = new Date(paraYear,paraMonth, getMonthDays(paraYear,paraMonth));   
  return formatDate(monthEndDate);  
}  

//获得上月开始时间 
function getLastMonthStartDate(paraYear, lastMonth){ 
  var lastMonthStartDate = new Date(paraYear, lastMonth, 1); 
  return formatDate(lastMonthStartDate);  
} 

//获得上月结束时间 
function getLastMonthEndDate(paraYear, lastMonth, lastMonth){ 
  var lastMonthEndDate = new Date(paraYear, lastMonth, getMonthDays(lastMonth)); 
  return formatDate(lastMonthEndDate);  
} 
  
//获得某季度的开始日期  
function getQuarterStartDate(paraYear,paraSeason){  
  switch (paraSeason){  
    case ‘1‘ : return paraYear+"-01-01";
    case ‘2‘ : return paraYear+"-04-01";
    case ‘3‘ : return paraYear+"-07-01";
    case ‘4‘ : return paraYear+"-10-01";
  }
}  
  
//获得某季度的结束日期  
function getQuarterEndDate(paraYear,paraSeason){  
  switch (paraSeason){  
  case ‘1‘ : return paraYear+"-03-31";
  case ‘2‘ : return paraYear+"-06-30";
  case ‘3‘ : return paraYear+"-09-30";
  case ‘4‘ : return paraYear+"-12-31";
  } 
}

  //获取某年某周的开始日期
function getBeginDateOfWeek(paraYear, weekIndex){
  var firstDay = GetFirstWeekBegDay(paraYear);
  //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
  var time=(weekIndex-1)*7*24*3600000;
  var beginDay = firstDay;
  //为日期对象 date 重新设置成时间 time
  beginDay.setTime(firstDay.valueOf()+time);
  return formatDate(beginDay);
}

  //获取某年某周的结束日期
function getEndDateOfWeek(paraYear, weekIndex){
  var firstDay = GetFirstWeekBegDay(paraYear);
  //7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
  var time=(weekIndex-1)*7*24*3600000;
  var weekTime = 6*24*3600000;
  var endDay = firstDay;
  //为日期对象 date 重新设置成时间 time
  endDay.setTime(firstDay.valueOf()+weekTime+time);
  return formatDate(endDay);
}

  //获取日期为某年的第几周
function GetWeekIndex(dateobj) {
  var firstDay = GetFirstWeekBegDay(dateobj.getFullYear());
  if (dateobj < firstDay) {
   firstDay = GetFirstWeekBegDay(dateobj.getFullYear() - 1);
  }
  d = Math.floor((dateobj.valueOf() - firstDay.valueOf()) / 86400000);
  return Math.floor(d / 7) + 1; 
}

  //获取某年的第一天
function GetFirstWeekBegDay(year) {
  var tempdate = new Date(year, 0, 1);
  var temp = tempdate.getDay();
  if (temp == 1){
    return tempdate;
  }
  temp = temp == 0 7 : temp;
  tempdate = tempdate.setDate(tempdate.getDate() + (8 - temp));
  return new Date(tempdate); 
}
时间: 2024-10-12 08:47:48

js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周的相关文章

js获取当前年,月,日,时,分,秒

var date = new Date(); date .getYear(); //获取当前年份(2位) date .getFullYear(); //获取完整的年份(4位) date .getMonth(); //获取当前月份(0-11,0代表1月) date .getDate(); //获取当前日(1-31) date .getDay(); //获取当前星期X(0-6,0代表星期天) date .getTime(); //获取当前时间(从1970.1.1开始的毫秒数) date .getHo

js获取几个月前,几周前时间。

/** *  DK 命名空间  防止全局变量污染 */ var DK = {} ; /** * 获取前几个月,默认为一个月,当前时间 * @author duke * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ DK.getPreMonth = function() { var obj = DK.init(arguments); var arr = obj.date.split('-'); var year = parseInt(arr[0]); //获取当前日

js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子

JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 格式化日期: function getNowFormatDate(theDate) { var day = theDate; var Year = 0; var Month = 0; var Day = 0; var CurrentDate = ""; // 初始化时间 Year= day.getFullYear();// ie火狐下都可以 Month= day.getMonth()

js获取自然周/自然月/自然日开始结束时间戳

/** * 获取自然月开始结束时间 * @param {*} year * @param {*} month */ function getMonthBeginEnd(year, month) { if (~~year === 0 || ~~month === 0) { throw new Error('年月参数错误'); } const result = {begin: 0, end: 0}; const target = new Date(); target.setFullYear(year

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

js获取给定月份的N个月后的日期

1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log(d.getYear()); 打印结果为:116 小颖百度了下,js中Date对象getYear()方法和getFullYear()方法区别,比如:JS中Date对象getYear()方法和getFullYear()方法区别发现很多人写的是: 在IE中是可以正确获取年份:2016,但是在FF等浏览器

(随笔)js获取当前时间并格格式化当前日期 获取date天后的日期(2014年11月27日 16:31:49)

(随笔)js获取当前时间并格格式化当前日期 获取date天后的日期参考网络(2014年11月27日 16:31:49 浙江) // 格式化当前日期 获取date天后的日期    function getNowFormatDate(date) {        var day = new Date();        var Year = 0;        var Month = 0;        var Day = 0;        var CurrentDate = "";  

获取指定日期之间的各个周和月

日志格式化类 Date.class.php <?php class Datefmt{     function __construct() {}     /**      * 根据指定日期获取所在周的起始时间和结束时间      */     public function get_weekinfo_by_date($date) {         $idx = strftime("%u", strtotime($date));         $mon_idx = $idx -

js获取n分钟(或n小时或n个月)后(或前)的时间(日期)

标题有点绕,其实意思就是根据系统当前时间,获取n分钟或n小时或n个月后的时间. 例如:当前时间下,获取10分钟后的时间. var date=new Date(); //1. js获取当前时间 var min=date.getMinutes(); //2. 获取当前分钟 date.setMinutes(min+10); //3. 设置当前时间+10分钟:把当前分钟数+10后的值重新设置为date对象的分钟数 var y = date.getFullYear(); var m = (date.get