/**
* 获取某周、某月、上月、某季度的开始日期、结束日期及判断日期第几周
*/
//格式化日期: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);
}
相关推荐
这稍微复杂一些,需要判断当前月份所在的季度,然后计算出季度的起始和结束日期。 ```php function getThisQuarterRange() { $now = new DateTime(); $quarter = ceil($now->format('n') / 3); // 计算季度 $...
在JavaScript中,获取特定时间范围(如本周、上周、本月、上月、本季度、上季度)的开始和结束日期是常见的需求。以下是一个详细解释这些功能的实现方法: 首先,我们创建一个`Date`对象`now`来获取当前日期和时间...
time: 返回的时间点,如果时间点为8点,返回的结束时间为第二天的8点,例如获取8月最后一天的结束时间,以8点计,则返回值为 2022-09-01 07:59:59.997 select dbo.GetDateStartFirstAndLast('-q','s','2022-08-03',...
假设一周从周一开始,可以通过以下代码获取本周的起始(周一)和结束(周日)日期: ```csharp DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek)); DateTime endWeek = startWeek.AddDays(6); `...
首先,获取本周开始日期和结束日期的基本思路是基于当前日期(或指定日期)确定周的起始日(通常是周一或周日),然后计算出一周的结束日期。在PHP中,我们可以利用内置的`date()`和`strtotime()`函数来实现这一目标...
java获取本月的开始时间\结束时间、获取上月的开始时间\结束时间、获取本年的开始时间\结束时间、获取某个日期的开始时间\结束时间、获取今年是哪一年、获取本月是哪一月
在C#编程中,有时我们需要获取特定月份的第一天和最后一天日期,比如上个月的日期范围。这在处理数据统计、报表生成或者时间相关的业务逻辑中非常常见。本篇文章将详细解析如何使用C#来获取上个月的第一天和最后一天...
Javascript获取上月、下月 var arr = date.split('-'); var year = arr[0]; //获取当前日期的年份 var month = arr[1]; //获取当前日期的月份 //var day = arr[2]; //获取当前日期的日 //var days = new Date...
Java 获取上月、一个月最后一天、周一、周日、本月日期是 Java 日期处理中的一些常见操作。下面我们将详细介绍这些操作的实现方法。 一、获取上月 获取上月可以使用 Calendar 类的 add 方法,减去一个月份。然后...
假设我们已经知道了第1周的开始日期,即5月的第一天,那么第5周的开始日期就是这个日期加上4周(即28天)。这可以通过DATEADD函数实现,但Excel内建函数中没有这个函数,我们可以使用加法和乘法来完成这个操作。 ...
### C#中的DateTime操作详解:本周、本月、本年及第一天的确定 #### 一、概述 在开发基于时间的应用程序时,经常会遇到需要获取特定时间范围(如本周、本月、本年)的需求。C#提供了强大的`DateTime`类来帮助...
本文将介绍如何使用JavaScript获取特定时间单位(如本周、本季度、本月、上月)的开始和结束日期。 首先,我们需要了解JavaScript中Date对象的基本概念。Date对象用于处理日期和时间,它提供了很多方法来获取和设置...
12、获得日期所在季度第一个月或最后一个月 13、在当前日期的基础上增加传入参数的天数 14、在当前日期的基础上增加传入参数的月数 15、在当前日期的基础上增加传入参数的年数 16、计算传入的两个日期之间相差的天数...
今天本周的第几天 ;获得某月的天数 ;获得本季度的开始月份;获得本月的开始日期;获得本月的结束日期;获得本季度的开始日期;获得本季度的结束日期;获取指定日期的上个月的日期;再也不为日期的昨天,上月,季度...
要获取上个月的第一天,我们首先需要获取当前日期,然后减去一个月。同理,获取上个月的最后一天则需要找到上个月的第一天后再加一天,因为每个月的最后一天是下个月的第一天的前一天。 在易语言中,我们可以使用...
在JavaScript编程中,获取特定时间范围的日期是一个常见的需求,比如获取今天、昨天、本周、上周、本月和上月的时间。以下将详细解释如何通过JavaScript实现这些功能。 1. 获取今天: ```javascript var nowDate = ...
"易语言取上个月第一天和最后一天源码"这个标题所涉及的知识点,主要是关于如何利用易语言的内置函数和逻辑来获取指定月份的第一天和最后一天的日期。易语言作为一款中国本土的编程语言,以其独特的中文语法和丰富的...