获取下一周日期
来源:互联网 发布:尚硅谷周阳视频linux 编辑:程序博客网 时间:2024/05/16 17:13
public class DateUtil {
private final static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 按传输时间返回时间的下一天
* @param date 传输时间
* @param day 天数左右移动,0-返回当前天
* @return 下一天
*/
public static String getNextDay(Date date, int day){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.DAY_OF_YEAR,day);
return sdf.format(calendar.getTime());
}
/**
* 按传输时间返回时间的下一月
* @param date 传输时间
* @param month 月数左右移动,0-返回当前月
* @return 下一月
*/
public static String getNextMonth(Date date, int month){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.MONTH,month);
return sdf.format(calendar.getTime());
}
/**
* 按传输判断是否工作日
* @param date 传输时间
* @return 是否工作日
*/
public static boolean isWorkDate(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int day = calendar.get(Calendar.DAY_OF_WEEK);
if(!(day == Calendar.SUNDAY || day == Calendar.SATURDAY)){
return false;
}
return true;
}
/**
* 按传输时间返回下一周的这一天
* @param month 周数左右移动,0-返回当前周
* @return 下一周
*/
public static String getNextWeek(Date date, int week){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.WEEK_OF_YEAR,week);
return sdf.format(calendar.getTime());
}
/**
* 按传输时间返每周工作日,过去工作日不返回
* @throws Exception
* @return 工作日
*/
public static List<String> getWorkDay(Date date, int week) throws Exception{
List<String> list =new ArrayList<String>();
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.WEEK_OF_YEAR,week);
if(week ==0){
int day = calendar.get(Calendar.DAY_OF_WEEK);
//是否工作日,是工作日的放入list集合放好
while(!(day == Calendar.SUNDAY || day == Calendar.SATURDAY)){
list.add(sdf.format(calendar.getTime()));
calendar.roll(Calendar.DAY_OF_YEAR,1);
day = calendar.get(Calendar.DAY_OF_WEEK);
}
}else{
//获取下周一时间
calendar.roll(Calendar.WEEK_OF_YEAR,-1);
int weeks = calendar.get(Calendar.DAY_OF_WEEK);
if(weeks>2){
calendar.add(Calendar.DAY_OF_MONTH,-(weeks-2)+7);
}else{
calendar.add(Calendar.DAY_OF_MONTH,2-weeks+7);
}
//获取下周一至五工作日
list = getWorkDay(calendar.getTime(),0);
}
return list;
}
public static void main(String[] args) throws Exception {
//打印下一天
System.out.println("下一天:"+getNextDay(new Date(),1));
//打印下一月
System.out.println("下一月:"+getNextMonth(new Date(),1));
//打印是否工作日
System.out.println("是否工作日:"+isWorkDate(new Date()));
//打印下一周
System.out.println("下一周:"+getNextWeek(new Date(),1));
//打印每周工作日
System.out.println("每周工作日:");
List<String> list = getWorkDay(new Date(),4);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).toString());
}
}
private final static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
/**
* 按传输时间返回时间的下一天
* @param date 传输时间
* @param day 天数左右移动,0-返回当前天
* @return 下一天
*/
public static String getNextDay(Date date, int day){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.DAY_OF_YEAR,day);
return sdf.format(calendar.getTime());
}
/**
* 按传输时间返回时间的下一月
* @param date 传输时间
* @param month 月数左右移动,0-返回当前月
* @return 下一月
*/
public static String getNextMonth(Date date, int month){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.MONTH,month);
return sdf.format(calendar.getTime());
}
/**
* 按传输判断是否工作日
* @param date 传输时间
* @return 是否工作日
*/
public static boolean isWorkDate(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int day = calendar.get(Calendar.DAY_OF_WEEK);
if(!(day == Calendar.SUNDAY || day == Calendar.SATURDAY)){
return false;
}
return true;
}
/**
* 按传输时间返回下一周的这一天
* @param month 周数左右移动,0-返回当前周
* @return 下一周
*/
public static String getNextWeek(Date date, int week){
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.WEEK_OF_YEAR,week);
return sdf.format(calendar.getTime());
}
/**
* 按传输时间返每周工作日,过去工作日不返回
* @throws Exception
* @return 工作日
*/
public static List<String> getWorkDay(Date date, int week) throws Exception{
List<String> list =new ArrayList<String>();
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.roll(Calendar.WEEK_OF_YEAR,week);
if(week ==0){
int day = calendar.get(Calendar.DAY_OF_WEEK);
//是否工作日,是工作日的放入list集合放好
while(!(day == Calendar.SUNDAY || day == Calendar.SATURDAY)){
list.add(sdf.format(calendar.getTime()));
calendar.roll(Calendar.DAY_OF_YEAR,1);
day = calendar.get(Calendar.DAY_OF_WEEK);
}
}else{
//获取下周一时间
calendar.roll(Calendar.WEEK_OF_YEAR,-1);
int weeks = calendar.get(Calendar.DAY_OF_WEEK);
if(weeks>2){
calendar.add(Calendar.DAY_OF_MONTH,-(weeks-2)+7);
}else{
calendar.add(Calendar.DAY_OF_MONTH,2-weeks+7);
}
//获取下周一至五工作日
list = getWorkDay(calendar.getTime(),0);
}
return list;
}
public static void main(String[] args) throws Exception {
//打印下一天
System.out.println("下一天:"+getNextDay(new Date(),1));
//打印下一月
System.out.println("下一月:"+getNextMonth(new Date(),1));
//打印是否工作日
System.out.println("是否工作日:"+isWorkDate(new Date()));
//打印下一周
System.out.println("下一周:"+getNextWeek(new Date(),1));
//打印每周工作日
System.out.println("每周工作日:");
List<String> list = getWorkDay(new Date(),4);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).toString());
}
}
0 0
- 获取下一周日期
- php 获取下一周的日期数组
- JS获取当前周、上一周、下一周日期
- js根据当前日期获取下一周日期
- [原创]自动获取当前日期下一周的年月日代码
- 获取前一周的日期
- IOS 根据日期,获取该日期所在周,月,年的开始日期,结束日期 的方法,还有下一周或者上一周的时间
- java获取一周前的日期
- PHP-获取上周一周的日期
- Android获取一周每一天的日期
- 获取当前日期往后一周的日期,时间截取
- 获取下一天日期
- js、php获取当前日期、当前日期前一周、当前日期前一个月 日期
- 从当前日期加减N天后,得到新日期;上一周和下一周切换。
- Calendar使用--> 获取星期几、一周日期的函数
- Oracle获取一周前,一个月前,一年前的日期
- Java Calendar详解 - 获取近一周日期与星期
- java 获取上一周周一到周日的日期
- linux 下tar gzip压缩命令
- 将模板类声明和实现分开
- 黑马程序员——Java基础——网络编程
- ORACLE 最大连接数的问题
- iOS 创建用xib制作的ViewController,不可以使用new方法
- 获取下一周日期
- f2fs创建一个文件的具体过程
- C指针申请内存
- 可变参数列表
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据方法
- 数据库 - 恢复策略与数据库镜像
- android adb 命令发送 keyevent
- WebSphere Message Broker 学习资源
- Android访问网络,使用HttpURLConnection还是HttpClient?