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);
}
js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周的更多相关文章
- js获取前几个月的具体日期
// 往前数monthNum月份,不能往后数monthNum getPreMonthDay("2018-12-28",20) // 往前数monthNum月份,不能往后数month ...
- js 获取现在时间一个月(N天)后的日期
欢迎加入前端交流群交流知识&&获取视频资料:749539640 let today = new Date().getTime() let lastDay = getTimeByDay( ...
- JS获取当前日期及 js获取当前时间和一星期前的时间
var myDate = new Date(); new Date() 代表当前 年 月 日 时 分 秒: myDate.getYear(); //获取当前年份(2位),getY ...
- js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子
JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 格式化日期: function getNowFormatDate(theDate) { var ...
- js获取几个月前,几周前时间。
/** * DK 命名空间 防止全局变量污染 */ var DK = {} ; /** * 获取前几个月,默认为一个月,当前时间 * @author duke * @date 格式为yy ...
- 用js获取周、月第一天和最后一天(转载)
var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...
- js日期计算及快速获取周、月、季度起止日
var now = new Date(); //当前日期 var nowDayOfWeek = (now.getDay() == 0) ? 7 : now.getDay() - 1; //今天是本周的 ...
- js获取上一个月、下一个月格式为yyyy-mm-dd的日期
/** * 获取上一个月 * * @date 格式为yyyy-mm-dd的日期,如:2014-01-25 */ function getPreMonth(date) { var arr = date. ...
- C#根据当前时间获取周,月,季度,年度等时间段的起止时间
最近有个统计分布的需求,需要按统计本周,上周,本月,上月,本季度,上季度,本年度,上年度等时间统计分布趋势,所以这里就涉及到计算周,月,季度,年度等的起止时间了,下面总结一下C#中关于根据当前时间获取 ...
- MySQL中获取天、周、月等数据
MySQL中获取天.周.月等数据 1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 ...
随机推荐
- django创建第一个视图-4
创建视图 打开 demo 应用下的 views.py 文件,添加代码 from django.http import HttpResponse from django.shortcuts import ...
- 小Hi和小Ho的礼物
题目:小Hi和小Ho的礼物 注:[i.j.p.q]为下标 个人感觉这道题是有一定难度的.读者可以参考一下[四平方和]的解题思路 分析过程下次补上 代码如下: #include <iostream ...
- AtCoder Regular Contest 098 F.Donation
传送门 首先,对于一个点i,进入这个点前必须大于等于Ai,每个点必须捐赠Bi 那么我们可以在每个点最后一次经过的时候再捐赠,这样显然更优 现在我们假设每个点都是最后一次经过的时候捐赠.现在我们把捐赠的 ...
- 成都优步uber司机第一组与第二组的区别
成都优步uber司机被分成了两组,两组的奖励方式不相同,下面我们先来看看官方给出的奖励方式: 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最 ...
- 4567: [Scoi2016]背单词
4567: [Scoi2016]背单词 https://www.lydsy.com/JudgeOnline/problem.php?id=4567 题意: 题意看了好久,最后在其他人的博客里看懂了的. ...
- LeetCode:33. Search in Rotated Sorted Array(Medium)
1. 原题链接 https://leetcode.com/problems/search-in-rotated-sorted-array/description/ 2. 题目要求 给定一个按升序排列的 ...
- jenkins通过maven指定testng的xml文件,并给testng代码传参
1.jenkins设置参数化构建,设置要传的参数名和值 2.指定testng的xml文件,在jenkins的输入以下 3.在pom.xml文件分别引用jenkins的参数,设置两个property & ...
- Linux命令应用大词典-第6章 文件处理
6.1 sort:对文件中的数据进行排序 6.2 uniq:将重复行从输出文件中删除 6.3 cut:从文件每行中输出选定的字节.字符或字段 6.4 comm:逐行比较两个已经排序的文件 6.5 di ...
- unity发布自定义分辨率
如果你需要发布unity时想要使用自己设置的分辨率仅需要一下几个步骤: 打开Build Setting->PlayerSetting->Resolution and Presentatio ...
- 丑哭了CSDN。
真是不知道如何设置,忒,,,,不知如何表达.