网上有很多计算本周第一天的代码,但是大多数都不太全面。
现在自己写了一个,进行测试:
/** * * @param date * @param isMondayAsFirst 周一是否为一周第一天 * @return */ private static Date getFirstDateOfWeek(Date date, boolean isMondayAsFirst) { Calendar cal = Calendar.getInstance(); cal.setTime(date); int i = cal.getActualMinimum(Calendar.DAY_OF_WEEK); int dayMinus = 0; if (isMondayAsFirst) { //将周一当做头一天 if (i > 1) { dayMinus = i - 2; } else { //周日作为上周的最后一天 dayMinus = 7 - i; } } else { //将周日当做头一天 dayMinus = i - 1; } cal.add(Calendar.DAY_OF_MONTH, -1 * dayMinus); return cal.getTime(); }
相关推荐
### Java 获取时间:本周、本年、本月的第一天与最后一天 在Java中,通过`Calendar`类可以方便地操作日期。以下将详细介绍如何利用`Calendar`类来获取本周、本年、本月的第一天和最后一天的具体实现方法。 #### ...
- `startWeek`计算本周的第一天(即周一),通过获取当前日期`dt`,并根据当前是星期几来调整天数。例如,如果当前是星期三,则需要向前调整两天才能得到周一。 - `endWeek`则是在`startWeek`的基础上增加六天,即...
在本案例中,我们关注的是一个动态设置判断条件和每周第一天的算法。 首先,让我们理解“未规定每年第一天是属于第一周”这句话。通常,国际标准ISO 8601定义了一年的第一周为包含新年1月4日的那一周,不论这一周...
// 计算本周第一天(周一)的日期 wDay = 取星期(today) wStart = today - (wDay - 1) // 计算本周最后一天(周日)的日期 wEnd = wStart + 6 // 输出本周开始和结束日期 .输出("本周开始日期: ") .输出(wStart) ....
- **星期几计算**:`Tygetdateofweek` 函数根据星期几名称返回该星期几对应的天数偏移量(即星期一对应 1,星期二对应 2 等),以便计算本周第一天的准确日期。 #### 结论 综上所述,“月视图和周视图切换控件”...
SQL Server提供了`DATEADD`和`DATEDIFF`函数,通过这两个函数的组合可以轻松地计算出任何给定日期所在月份的第一天。具体实现方式为: ```sql SELECT DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0); ``` 这里的关键...
输入一个日期年月日,然后程序计算是一年第几天
在编程领域,计算某一天是某一年的第几天是一个常见的日期处理问题,涉及到日期运算和算法。这个程序使用了Visual C++(VC)作为开发工具,通过用户输入年份、月份和日期,来确定该日期在当年中的位置。下面我们将...
显示每月第一天是星期几 编写程序,提示用户输入年份和代表该年第一天是星期几的数字,然后在控制台上显示该年每月第一天的星期。例如,如果用户输入的年份是2005和代表2005年1月1日为星期六的6,程序应该显示2005年...
java指定日期计算一年内第几天和给出一年内第几天算出指定日期 【指定日期换算成第几天】 2019年10月31日是一年内的第:304天 【一年的第几天换算对应日期】 2019年的第304天 对应的日期是2019-10-31
下一天日期计算 ++下一天.cpp
本文将详细介绍如何使用 DATEADD 和 DATEDIFF 函数来计算日期,包括计算本月的第一天、本月的最后一天、本年度的最后一天等。 首先,我们需要了解 DATEADD 和 DATEDIFF 函数的用途。DATEDIFF 函数用来计算两个日期...
对于计算前一个月的第一天,我们可以先计算出给定时间点的该月第一天,然后通过日期的减法操作得到前一个月的最后一天,再通过这一天的年份和月份来计算出前一个月的第一天。具体步骤如下: 1. 使用datetime.date类...
本文将深入探讨如何在SQL中查询一个月的第一天,并详细解释与之相关的日期函数,如`DATEDIFF`和`DATEADD`,这些函数在处理日期时间数据时极为关键。 ### 查询一个月的第一天 要查询当前月的第一天,可以使用`...
如果某月的最后一日递增后超出当月天数,则需要调整到下一个月的第一天;若超出一年的范围,则需要进入下一年。 4. **月份天数计算**:`daysInMonth`方法用于计算每个月的实际天数。对于一月、三月、五月、七月、八...
// 闰年的2月多一天 } total_days += date.day; return total_days; } ``` 现在,我们可以创建一个`Date`结构体实例,输入年、月、日,然后调用`days_in_year_till`函数来获取结果: ```cpp int main() { ...
这款软件(是或者说是小程序)可以快速算出今天(或者输入的某一天)是一年中的第几天
这段代码首先获取当前日期(`DateTime.Now.Date`),然后通过`AddDays`方法计算出本月的第一天。`-DateTime.Now.Day + 1`是因为我们想从当前日期回溯到月初,所以减去当前日期的天数,再加1。最后,将计算得到的日期...
该资源的编程逻辑和思路是根据用户输入的年份和代表该年第一天是星期几的数字,计算每月第一天的星期,并将其显示在控制台上。 该资源涉及到多个IT知识点,包括年份和闰年判断、月份和天数的计算、星期计算、控制台...
文章中提到了一个非常实用的技术点:系统中星期的第一天(DATEFIRST)的设置可能影响到日期计算的结果。默认情况下,周一被视为一周的第一天,但用户可以通过修改DATEFIRST设置来改变这一默认行为,将任何一天设定为...