`

java 获得工作周数

    博客分类:
  • JAVA
 
阅读更多
package util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.commons.lang.time.DateUtils;

public class WeekDay {
	private Date firstWeek;
	
	private WeekDay(){
		try {
			SimpleDateFormat year=new SimpleDateFormat("yyyy-MM-dd");
			SimpleDateFormat firstDay=new SimpleDateFormat("yyyy-01-01");
			firstWeek=year.parse(firstDay.format(new Date()));
			switch(firstWeek.getDay()){
				case 0:firstWeek=DateUtils.addDays(firstWeek,-6);break;//周末
				case 1:break;//周一
				case 2:firstWeek=DateUtils.addDays(firstWeek,-1);break;
				case 3:firstWeek=DateUtils.addDays(firstWeek,-2);break;
				case 4:firstWeek=DateUtils.addDays(firstWeek,-3);break;
				case 5:firstWeek=DateUtils.addDays(firstWeek,-4);break;
				case 6:firstWeek=DateUtils.addDays(firstWeek,-5);break;
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
	private WeekDay(Date firstDay){
		firstWeek=firstDay;
	}
	public long getWeekCount(){
		return getWeekCount(new Date());
	}
	public long getWeekCount(Date nowDate){
		SimpleDateFormat year=new SimpleDateFormat("yyyy-MM-dd");
		switch(nowDate.getDay()){
			case 0:break;//周末
			case 1:nowDate=DateUtils.addDays(nowDate,6);break;//周1
			case 2:nowDate=DateUtils.addDays(nowDate,5);break;
			case 3:nowDate=DateUtils.addDays(nowDate,4);break;
			case 4:nowDate=DateUtils.addDays(nowDate,3);break;
			case 5:nowDate=DateUtils.addDays(nowDate,2);break;
			case 6:nowDate=DateUtils.addDays(nowDate,1);break;
		}
		long dayCount=nowDate.getTime()-firstWeek.getTime();
		int minute=60*1000;
		return (dayCount/(24*60*minute))/7;
	}
}

 

分享到:
评论

相关推荐

    利用Java中Calendar计算两个日期之间的天数和周数

    这两个函数结合使用,可以有效地帮助你在Java程序中处理日期之间的天数和周数的计算,这对于进行日期相关的业务逻辑或者数据分析来说非常有用。需要注意的是,这些函数假设日期都是按照格里高利历来计算的,如果你...

    java 日期转化计算

    根据给定文件的信息,本文将深入探讨Java中与日期转换及计算相关的几个核心知识点:如何计算当前日期是年度中的第几周、确定某天是一周中的哪一天、日期的格式化处理、获取指定年份月份的具体日期以及如何获得当前...

    java 周算法 通过日期得到周信息

    本文将详细介绍一个Java程序中的实用工具类——`WeekUtil`,该类主要用于处理与周相关的各种计算问题,如确定某个日期所在的周数、获取指定周的第一天和最后一天等。这对于需要根据日期进行周统计的应用场景非常有用...

    java实现的日期操作类

    `java.time`包还提供了丰富的日期和时间计算功能,例如`minusDays()`用于减少日期,`plusWeeks()`和`minusWeeks()`用于添加或减少周数,`with(TemporalAdjuster)`可以进行复杂的日期调整,如下一个工作日等。...

    weekOfYear.rar_week of year_周数

    这是一个实用的工具,尤其对于需要处理时间序列数据或者进行计划和报告的工作来说。实现这样的功能通常需要理解日期和时间的处理,以及如何在编程环境中转换这些日期。 在Python中,可以使用`datetime`模块的`...

    关于日期计算的java代码

    通过使用 `TemporalAdjusters` 可以轻松地调整到周一,再根据周数加上相应的天数即可得到该周的起始和结束日期。 综上所述,无论是传统的 `java.util.Date` 还是现代的 `java.time` 包,都可以方便地实现日期的计算...

    Java时间函数大全.pdf

    获得一个日期所在的周的星期几的日期 该方法将输入的日期字符串和星期几(1-7)传入,返回该日期所在周的对应星期几的日期。 ```java public static String getWeekDayDate(String sdate, int num) { // ... } ``...

    java日期处理大全

    通过Calendar对象的`getTimeInMillis()`方法获取毫秒级时间戳,然后相减得到两个日期间的时间差,最后除以相应的单位(秒、分钟、小时等)转换为所需的格式。 ```java public int getIntervalDays(Calendar startDay...

    时间处理常用java

    然后,利用`getTimeInMillis()`方法获取毫秒值,并计算差值,最终除以一天的毫秒数得到相差天数。 综上所述,Java中的时间处理主要包括了日期的设置、转换、格式化、日期的增减以及日期间的计算等多个方面。这些...

    java中队日期的操作

    `Calendar`类是日期和时间的主要工作类,可以用来获取或设置日期的各种属性,如年、月、日、小时等。例如,`Calendar.getInstance()`返回一个`Calendar`实例,然后可以通过`set`和`get`方法来设置和获取日期属性。 ...

    【Java精品】Java中Date各种相关用法.doc

    - 计算一年中的第几星期是几号:设置Calendar的年份、周数和星期,然后获取`getTime()`得到对应的日期。 5. add()和roll()的用法 - `add()`方法:用于增加或减少日期字段的值,会跨月或跨年。例如,`cal.add...

    java日期计算

    为了获取指定年份的第一周的第一天(通常是星期一),可以先创建一个`Calendar`实例,并设置相应的年份、周数和星期几,然后通过`getTime()`方法获取对应的`Date`对象。 #### 示例代码 ```java SimpleDateFormat df...

    java周算法.pdf

    首先,它们将日期设置为该年的1月1日,然后根据指定的周数进行加法运算(乘以7天),得到目标周的日期。接着,通过调用 `getFirstDayOfWeek(Date date)` 或 `getLastDayOfWeek(Date date)` 来获取一周的第一天或最后...

    java得到某年某周的第一天实现思路及代码

    在上述代码中,我们首先创建了一个`Calendar`实例,然后设置了年份和周数。接下来,我们将`DAY_OF_WEEK`设置为`Calendar.MONDAY`,这样`Calendar`对象就会代表周一。通过调用`setFirstDayOfWeek(Calendar.MONDAY)`,...

    计算周次(未规定每年第一天是属于第一周)

    例如,我们可能希望以1月1日作为新年的开始,或者选择连续七天中包含特定日期(如工作日)的那周作为第一周。这种灵活性对于不同的业务场景非常有用。 “动态设置每周的第一天”则涉及到编程语言中的日期处理函数。...

    DateUtil.zip

    Java 8引入了`TemporalField`接口和`WeekFields`类,可以方便地获取指定地区一年中的周数。 再者,`DateUtil`可能包含一个计算两个日期之间相差天数的方法,如`daysBetween(Date date1, Date date2)`。这个方法通常...

    根据年月日计算周日期的小程序

    在这个小程序中,可能会使用到`java.time.LocalDate`来表示年月日,然后结合`java.time.temporal.ChronoUnit`来计算两个日期之间的周数差,从而得到输入日期所在的一周。 控制台是用户与程序交互的简单界面,通常在...

    java时间操作函数汇总[参考].pdf

    - 计算一年中的第几星期是几号:首先设置年份、周数,然后设置 `DAY_OF_WEEK` 为一周的第一天(通常是周一,即 `Calendar.MONDAY`),调用 `getTime()` 得到具体日期。 5. `add()` 和 `roll()` 方法的用法: - `...

    java时间日期使用与查询代码详解

    `(2)` 若要得到一年中第n周的第一天,先设置年份和周数,再设置`DAY_OF_WEEK`为周一(`Calendar.MONDAY`),通过`getTime()`获取对应日期。 7. **Calendar的add()和roll()方法**: `(1)` `add()`方法用于在给定的...

    周计算(GPS)

    4. 最后,得到的总秒数就是GPS秒,而GPS周数就是总秒数除以604,800后的整数部分。 在《GPS周计算.txt》文件中,可能包含了具体的算法描述或示例代码,帮助用户理解如何进行GPS周和秒的计算。这些计算对于GPS导航、...

Global site tag (gtag.js) - Google Analytics