Java获取一年有多少周、某周的第一天和最后一天.
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class Test {
// 获取当前时间所在年的周数
public static int getWeekOfYear(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setMinimalDaysInFirstWeek(7);
c.setTime(date);
return c.get(Calendar.WEEK_OF_YEAR);
}
// 获取当前时间所在年的最大周数
public static int getMaxWeekNumOfYear(int year) {
Calendar c = new GregorianCalendar();
c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);
return getWeekOfYear(c.getTime());
}
// 获取某年的第几周的开始日期
public static Date getFirstDayOfWeek(int year, int week) {
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);
Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);
return getFirstDayOfWeek(cal.getTime());
}
// 获取某年的第几周的结束日期
public static Date getLastDayOfWeek(int year, int week) {
Calendar c = new GregorianCalendar();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, Calendar.JANUARY);
c.set(Calendar.DATE, 1);
Calendar cal = (GregorianCalendar) c.clone();
cal.add(Calendar.DATE, week * 7);
return getLastDayOfWeek(cal.getTime());
}
// 获取当前时间所在周的开始日期
public static Date getFirstDayOfWeek(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday
return c.getTime();
}
// 获取当前时间所在周的结束日期
public static Date getLastDayOfWeek(Date date) {
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(date);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday
return c.getTime();
}
public static void main(String[] args) {
int year = 2015;
int week = 27;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date today = new Date();
Calendar c = new GregorianCalendar();
c.setTime(today);
System.out.println("当前时间:current date = " + sdf.format(today));
System.out.println("当前第几周:getWeekOfYear = " + getWeekOfYear(today));
System.out.println("年度总周数:getMaxWeekNumOfYear = " + getMaxWeekNumOfYear(year));
System.out.println("本周第一天:getFirstDayOfWeek = " + sdf.format(getFirstDayOfWeek(year, week)));
System.out.println("本周最后一天:getLastDayOfWeek = " + sdf.format(getLastDayOfWeek(year, week)));
System.out.println("本周第一天:getFirstDayOfWeek = " + sdf.format(getFirstDayOfWeek(today)));
System.out.println("本周最后一天:getLastDayOfWeek = " + sdf.format(getLastDayOfWeek(today)));
}
}
//输出结果:
// 当前时间:current date = 2015-07-07 16:35:07
// 当前第几周:getWeekOfYear = 27
// 年度总周数:getMaxWeekNumOfYear = 52
// getFirstDayOfWeek = 2015-07-06 16:35:07
// getLastDayOfWeek = 2015-07-12 16:35:07
// getFirstDayOfWeek = 2015-07-06 16:35:07
// getLastDayOfWeek = 2015-07-12 16:35:07
Java获取一年有多少周、某周的第一天和最后一天.相关推荐
- linux java读取文件夹下文件名,Java获取Linux上指定文件夹下所有第一级子文件夹...
说明:需要只获得第一级文件夹目录 package com.sunsheen.jfids.studio.monitor.utils; import java.io.BufferedReader; imp ...
- Java获取一年有多少周、某周的第一天和最后一天,当前时间所在当年的实际周数
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ...
- JS获取当前年、月、星期的第一天和最后一天
先封装日期格式化方法 // 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y ...
- Java获取时间几月第几周
import java.time.*; import java.util.Calendar; import java.util.Date; import java.util.Locale;/*** @ ...
- java 获取当前时间是第几周
public static void main(String[] args) {//一般使用当前时间戳 System.currentTimeMillis()Current_week(157772160 ...
- java获取指定时间为第几周_Java8根据一年中的第几周获得Monday
指定星期几即可 static LocalDate parse(String text) { DateTimeFormatter formatter = DateTimeFormatter.ofPatt ...
- mysql计算某一天所在周或月的第一天和最后一天
某一天所在周的第一天: 我们知道国外的星期的第一天是从星期天开始的,所以DAYOFWEEK('2017-3-10')函数的第一天是星期天: SELECT CASE WHEN DAYNAME(DATE( ...
- java获取时间(今天,昨天,上周第一天,本周第一天,本周最后一天)
1.获取当前时间(年月日时分秒) Date date = new Date();//获得系统时间.SimpleDateFormat sdf = new SimpleDateFormat(" ...
- Java获取下周、本周、上月、本月第一天最后一天
下周 LocalDateTime nextWeekStart = LocalDateTime.now().plusDays(8 - dayOfWeek.getValue()); nextWeekSta ...
最新文章
- 如果去掉UITableView上的section的headerView和footerView的悬浮效果
- QT的QAssociativeIterable类的使用
- 负载均衡在分布式架构中是怎么玩起来的?
- github 检查代码质量_Android(8): 代码质量检查
- 设置笔记笔触摸区(Vista)
- centos编译安装LNMP
- DllRegisterServer调用失败的解决办法
- 破解烽火移动HG6201M 破解 超级密码
- dwg转换pdf方法
- 盈世邮箱服务器pop3,Coremail私有协议为什么比POP3协议、IMAP协议更好
- c语言编译器w7,wintc下载|c语言编译器wintc win7/win8兼容版 v2.0下载 64位32位 - 3322软件站...
- 外汇EA网格交易策略
- 全球与中国Epicor渠道合作伙伴市场现状及未来发展趋势
- blowfish加密算法(c实现)
- 如何用修灯泡解读IT行业
- zcu102网口不通
- solaris启动过程详解
- 我国智能安防细分市场规模分析
- 硬盘分区表丢失怎么恢复
- 【探花交友DAY 12 完结】推荐系统
热门文章
- 【论文翻译】异构信息网络的领域自适应分类
- echarts地图库下载安装
- Go语言自学系列 | golang构造函数
- BZOJ1128: [POI2008]Lam
- BLS12-381 pairing-friendly 曲线
- 【转载】我们究竟是如何测量珠峰的?
- 9.2 估算活动资源
- 微软推出Windows 11 RP Build 22000.1163版 修复打印队列发生错误等问题
- Gavin老师Transformer直播课感悟 - Rasa项目实战之电商零售智能业务对话机器人配置详解与Debugging演示(八十七)
- 移动办公oa管理软件的选择指标是什么?