获取某月的第一个和最后个星期一
来源:互联网 发布:淘宝蛋蛋家全名 编辑:程序博客网 时间:2024/04/29 08:17
想着获取当前是第几周,先获取开学那天,看了两年的校历好像是9月份第一个星期一和2月份最后个星期一。
如下图9月第一个星期一是9月5号
最后个星期一是2月27号
代码如下
class DayUtils{ /** * 指定年月的第一个星期一 * @param year * @param month */ static void firstMonday(int year, int month){ Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); //从0开始 int day = 1; cal.set(Calendar.DAY_OF_MONTH, day); //从第一天开始找第一个星期一 while(cal.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY){ cal.set(Calendar.DAY_OF_MONTH, ++day); } Date firstMonday = cal.getTime(); String dtStr = new SimpleDateFormat("yyyy-MM-dd").format(firstMonday); System.out.println(dtStr); } /** * 指定年月的最后个星期一 * @param year * @param month */ static void lastMonday(int year, int month){ Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); cal.set(Calendar.DAY_OF_MONTH, 1); //防止getInstance()返回今天是2月29号,被认为是3月了 int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); //每个月的最大天数 cal.set(Calendar.DAY_OF_MONTH, lastDay); while(cal.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY){ cal.set(Calendar.DAY_OF_MONTH, --lastDay); } Date lastMonday = cal.getTime(); String dtStr = new SimpleDateFormat("yyyy-MM-dd").format(lastMonday); System.out.println(dtStr); } /** * 返回指定年月的第一天(1号)是星期几 * @param year * @param month */ static int DayofFirstDay(int year, int month){ int[] weekDays = {7, 1, 2, 3, 4, 5, 6}; Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); //从0开始 cal.set(Calendar.DAY_OF_MONTH, 1); int day = cal.get(Calendar.DAY_OF_WEEK) - 1 ; if(day < 0) day = 0; System.out.println("星期"+weekDays[day]); return weekDays[day]; }}
public class Main { public static void main(String[] args) { DayUtils.lastMonday(2016,2); DayUtils.lastMonday(2017,2); DayUtils.firstMonday(2016,9); DayUtils.firstMonday(2017,9); }}
0 0
- 获取某月的第一个和最后个星期一
- c#获取某月的第一天和某月的最后一天
- 第一个星期一
- 分别使用java和JS获取某月的第一天和最后一天
- C# 获取某月的第一天和最后一天
- C# 获取某月的第一天和最后一天
- C# 获取某月的第一天和最后一天
- java获取某月的第一天和最后一天
- 【Python】获取某月份的第一天和最后一天
- java获取某月,某季度的第一天和最后一天
- C# 获取某月的第一天和最后一天
- php 每月的第一个星期一
- 获取某月第一天和最后一天
- 第一个和最后一个
- 小白问题,PHP获取今年的第一周或第一个星期一
- recycleview获取第一个和最后一个可见item的位置
- php获取并删除数组的第一个和最后一个元素
- 给一个年份,返回每月的第一个星期一
- Undefined symbols for architecture i386: "register_all_MyClass(lua_State*)"
- error: QtGui/QAction: 没有那个文件或目录
- 没事的,总会长大(2017.01-2017.04)
- Auto add log into java file
- DataBinding 初步
- 获取某月的第一个和最后个星期一
- makefile与shell语法易混点
- 栈溢出攻击之弹出计算器
- 扩展字段map真是个好东西
- Tikhonov regularization(L2正则化、岭回归)
- centos7 安装emaces
- 插入排序法--快速排序法理解
- SQL优化大全
- Python爬虫项目整理