`

[转]java中如何利用时间间隔算日期

阅读更多
今天公司要要我实现一个功能是时间段1 时间段2 时间段3 时间段4这4个时间段的设备缺陷率盒和缺陷数量显示在dhtmlx grid的一个吧表格中,说来惭愧居然不知道如何利用时间间隔计算问题.在网上找了许久终于找出了一个办法现在记录下来.时间段1是现在的日期,2,3,4分别在前一时间段上面减去3个周.当然这里面也包含了Calendar Date 和字符串之间的相互转换
String a[] = time.split("年");
				String year = a[0];
				String b = a[1];
				String c[] = b.split("月");
				String month = c[0];
				String d = c[1];
				String day = d.substring(0,d.indexOf("日"));
				//时间段1
				if(Integer.parseInt(month) > 10 && Integer.parseInt(day) > 10){
					firstTime = year + "-" + month + "-" + day;
				}else if(Integer.parseInt(month) > 10 && Integer.parseInt(day) < 10){
					firstTime = year + "-" + month + "-0" + day;
				}else if(Integer.parseInt(month) < 10 && Integer.parseInt(day) > 10 ){
					firstTime = year + "-0" + month + "-" + day;
				}else if(Integer.parseInt(month) < 10 && Integer.parseInt(day) < 10){
					firstTime = year + "-0" + month + "-0" + day;
				}
				//时间段2
				try {
					Date date = df.parse(firstTime);
					Calendar c2 = Calendar.getInstance();
					c2.setTime(date);
					int d2 = c2.get(Calendar.DAY_OF_MONTH);
					d2 = d2 - 21;
					c2.set(Calendar.DAY_OF_MONTH, d2);
					secondTime = Constants.CharsetDecodeToUTF8(df.format(c2.getTime()));
				} catch (ParseException e) {
					e.printStackTrace();
				}
				
				
				//时间段3
				try {
					Date date = df.parse(secondTime);
					Calendar c3 = Calendar.getInstance();
					c3.setTime(date);
					int d3 = c3.get(Calendar.DAY_OF_MONTH);
					d3 = d3 - 21;
					c3.set(Calendar.DAY_OF_MONTH, d3);
					thirdTime = Constants.CharsetDecodeToUTF8(df.format(c3.getTime()));
				} catch (ParseException e) {
					e.printStackTrace();
				}
				
				
				//时间段4
				try {
					Date date = df.parse(secondTime);
					Calendar c4 = Calendar.getInstance();
					c4.setTime(date);
					int d4 = c4.get(Calendar.DAY_OF_MONTH);
					d4 = d4 - 21;
					c4.set(Calendar.DAY_OF_MONTH, d4);
					fourthTime = Constants.CharsetDecodeToUTF8(df.format(c4.getTime()));
				} catch (ParseException e) {
					e.printStackTrace();
				}
				




分享到:
评论

相关推荐

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

    JAVA时间和日期图解.rar

    Java时间与日期处理是编程中的常见任务,尤其是在开发业务应用或者数据分析时。Java提供了多种类库来处理日期和时间,包括早期的`java.util.Date`和`Calendar`,以及Java 8引入的`java.time`包。这个"JAVA时间和日期...

    java日期时间操作函数代码

    5. **日期时间间隔**:`java.time.Duration`和`java.time.Period`分别用于表示时间间隔(秒和纳秒级别)和日期间隔(年、月、日级别)。例如,创建一个持续1小时的`Duration`:`Duration.ofHours(1)`。 6. **日期...

    Java 计算两个日期之间相差的月数

    总的来说,Java提供了多种方式来计算两个日期之间相差的月数,选择哪种方法取决于你的具体需求,如是否需要考虑日期中的天数,以及是否处理跨闰年的边界问题。对于简单的情况,`ChronoUnit.MONTHS.between()`就足够...

    java操作日期时间工具类

    5. **日期时间间隔**:`DateUtil.between(date1, date2)`可以计算两个日期时间之间的间隔,通常返回`long`类型的毫秒数。 ```java public static long between(Date startDate, Date endDate) { return endDate....

    Java - DateUtil 日期时间转换工具类

    内容概要:日期时间转换工具类,包括基本的Date类型,String类型,TimeStamp类型,LocalDateTime类型,LocalDate类型之间的互相转换,还提供了许多与时间获取,时间计算有关的方法,如:获取指定日期几天后的日期;...

    操作日期的java包

    6. **日期运算**:Joda-Time提供了丰富的日期运算方法,如加上或减去天数、月份、年份等,还支持复杂的日期时间间隔计算。 7. **比较和查询**:可以轻松比较两个日期时间对象,或者查询某个日期时间是否在另一日期...

    java根据开始时间结束时间计算中间间隔日期的实例代码

    "java根据开始时间结束时间计算中间间隔日期的实例代码" 本篇文章主要介绍了如何使用 Java 语言编写代码来计算两个日期之间的中间日期,并将其以列表形式返回。下面是对代码的详细解释和知识点总结: 1. 日期和...

    java中计算两个日期相差几天

    - **系统日志**:在开发过程中,记录事件发生的时间戳,并在调试或故障排查时计算两个事件之间的时间间隔。 - **日程管理**:在实现诸如倒计时功能或会议提醒等应用时,准确计算两个日期之间的时间差至关重要。 ...

    Java 俩个日期直接的时间间隔

    声明:不是本人写的 半年之前从网上找的,我收获颇多,诸位一起分享下吧 时间 时间间隔 Java源代码

    JAVA中的时间操作

    在Java编程语言中,时间操作是一项关键功能,用于处理日期、时间和时区相关的任务。Java提供了多种类库来处理时间,这些类库随着时间的推移不断进化,从早期的`java.util.Date`和`java.util.Calendar`到更现代的`...

    日期时间间隔计算

    日期时间间隔计算是编程领域中常见的一种需求,尤其在数据分析、日程管理或者任何与时间相关的应用程序中。这个话题涉及到的主要知识点包括日期处理、时间间隔计算以及可能的编程语言实现。 1. **日期处理**:在...

    java日期工具类

    此外,`java.time`包还引入了`Period`和`Duration`类,分别用于处理日期间隔和时间间隔。`Period`适用于年、月、日的计算,而`Duration`适用于小时、分钟、秒及纳秒的计算。 在实际开发中,我们可以根据需求选择...

    My97DatePicker:开始时间和结束时间的最大间隔为10天,并且不大于当前时间

    - 间隔设定:设置最大时间间隔为10天意味着用户不能选择超过10天的日期范围。例如,如果用户选择了今天的日期作为开始时间,那么结束时间最多只能选择到10天后的日期。 - 实现方式:可以通过在My97DatePicker的...

    java 日期帮助类

    Java 日期帮助类是编程中不可或缺的部分,尤其是在处理时间日期相关的业务逻辑时。在这个Java 日期帮助类中,包含了多达50个实用方法,涵盖了日期和时间的各种操作,旨在简化开发人员的工作,提高代码的可读性和可...

    Android-Java中的日期转化格式DateUtil工具类

    4. `getTimeDifference(Date older, Date newer)`: 计算两个日期之间的差值,返回一个表示时间间隔的`long`值,单位通常是毫秒。 5. `getStartDateOfMonth(Date date)`: 获取给定日期所在月份的第一天。 6. `...

    Time4J, Java的高级日期,时间和时间间隔库.zip

    Time4J, Java的高级日期,时间和时间间隔库 Time4JJava的高级日期,时间和时间间隔库动机:Time4J被认为是对 java.util. 日期。java.util.Calendar 和 java.text. 图表的老java类的完整和高端的替代。 这个项目也...

    Java-Java处理日期和时间教程

    在Java编程语言中,处理日期和时间是常见的需求,无论是记录日志、处理用户输入,还是进行数据分析。Java提供了多种库来帮助开发者有效地管理日期和时间。本教程将深入探讨Java处理日期和时间的核心概念、API以及...

    Java实现时间与日期程序(附源代码)

    - Period和Duration类分别用于表示日期间隔和时间间隔。例如,计算两个日期之间的差值: ```java Period period = Period.between(date1, date2); int days = period.getDays(); ``` 6. 时区处理: - ZoneId类...

    Java8时间和日期API20例Java开发Java经验技

    5. **Duration** 和 **Period**: `Duration` 用于表示两个时刻之间的精确时间间隔(以毫秒为单位),而 `Period` 则表示两个日期之间的间隔,通常用天、月和年来表示。 6. **TemporalAdjusters**: 这些是用于调整...

Global site tag (gtag.js) - Google Analytics