功能:今天,昨天,本周,上周,本月,上月
范围:以周一作为一周的第一天,每周天数5天
代码:
import java.util.Date;
import java.util.GregorianCalendar;
public class TestCalendar ... {
public static String begin = "" ;
public static String end = "" ;
public static String now = new java.sql.Date( new Date().getTime()).toString();
public static void main(String[] args) ... {
// 今天
calcToday(begin,end,now, new GregorianCalendar());
// 昨天
calcYesterday(begin,end,now, new GregorianCalendar());
// 本周
calcThisWeek(begin,end,now, new GregorianCalendar());
// 上周
calcLastWeek(begin,end,now, new GregorianCalendar());
// 本月
calcThisMonth(begin,end,now, new GregorianCalendar());
// 上月
calcLastMonth(begin,end,now, new GregorianCalendar());
}
public static void calcToday(String begin,String end,String now,GregorianCalendar calendar) ... {
begin = now;
end = now;
System.out.println( " begin: " + begin);
System.out.println( " end: " + end);
System.out.println( " ---------------------- " );
}
public static void calcYesterday(String begin,String end,String now,GregorianCalendar calendar) ... {
calendar.add(GregorianCalendar.DATE, - 1 );
begin = new java.sql.Date(calendar.getTime().getTime()).toString();
end = begin;
System.out.println( " begin: " + begin);
System.out.println( " end: " + end);
System.out.println( " ---------------------- " );
}
public static void calcThisWeek(String begin,String end,String now,GregorianCalendar calendar) ... {
end = now;
int minus = calendar.get(GregorianCalendar.DAY_OF_WEEK) - 2 ;
if (minus < 0 ) ... {
System.out.println( " 本周还没有开始,请查询上周 " );
System.out.println( " ---------------------- " );
} else ... {
calendar.add(GregorianCalendar.DATE, - minus);
begin = new java.sql.Date(calendar.getTime().getTime()).toString();
System.out.println( " begin: " + begin);
System.out.println( " end: " + end);
System.out.println( " ---------------------- " );
}
}
public static void calcLastWeek(String begin,String end,String now,GregorianCalendar calendar) ... {
int minus = calendar.get(GregorianCalendar.DAY_OF_WEEK) + 1 ;
calendar.add(GregorianCalendar.DATE, - minus);
end = new java.sql.Date(calendar.getTime().getTime()).toString();
calendar.add(GregorianCalendar.DATE, - 4 );
begin = new java.sql.Date(calendar.getTime().getTime()).toString();
System.out.println( " begin: " + begin);
System.out.println( " end: " + end);
System.out.println( " ---------------------- " );
}
public static void calcThisMonth(String begin,String end,String now,GregorianCalendar calendar) ... {
end = now;
int dayOfMonth = calendar.get(GregorianCalendar.DATE);
calendar.add(GregorianCalendar.DATE, - dayOfMonth + 1 );
begin = new java.sql.Date(calendar.getTime().getTime()).toString();
System.out.println( " begin: " + begin);
System.out.println( " end: " + end);
System.out.println( " ---------------------- " );
}
public static void calcLastMonth(String begin,String end,String now,GregorianCalendar calendar) ... {
calendar.set(calendar.get(GregorianCalendar.YEAR),calendar.get(GregorianCalendar.MONTH), 1 );
calendar.add(GregorianCalendar.DATE, - 1 );
end = new java.sql.Date(calendar.getTime().getTime()).toString();
int month = calendar.get(GregorianCalendar.MONTH) + 1 ;
begin = calendar.get(GregorianCalendar.YEAR) + " - " + month + " -01 " ;
System.out.println( " begin: " + begin);
System.out.println( " end: " + end);
System.out.println( " ---------------------- " );
}
}
结果:
查询今天
begin:2007-12-18
end:2007-12-18
----------------------
查询昨天
begin:2007-12-17
end:2007-12-17
----------------------
查询本周
begin:2007-12-17
end:2007-12-18
----------------------
查询上周
begin:2007-12-10
end:2007-12-14
----------------------
查询本月
begin:2007-12-01
end:2007-12-18
----------------------
查询上月
begin:2007-11-01
end:2007-11-30
分享到:
相关推荐
下面我们将深入探讨相关的Java日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util.Date`和`java.util.Calendar`类,另一个是Java 8引入的`java.time`包,包含`LocalDate`, `LocalTime`, ...
android java日期计算工具
这篇博客"Java日期计算之Joda-Time"深入探讨了如何利用Joda-Time进行高效、精确的日期和时间操作。 Joda-Time库提供了比Java内置的`java.util.Date`和`java.util.Calendar`更强大、更直观的API。以下是一些关键的...
日期计算程序。 1、由用户输入一个月份,屏幕上输出这个月的月历,每星期一行,从星期日开始,到星期六结束。 2、由用户输入一个日期,屏幕上回答是星期几。 3、由用户输入二个日期,计算这两个日期之间相差多少天。
java日期计算简单实用方法如下: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); WorkdayUtils workdayUtils = new WorkdayUtils(); workdayUtils.setLegalWorkdayList(legalWorkdayList); ...
用于String类型的日期计算 String date1 = "2018-09-18"; String date2 = "2018-08-18"; String[] d1 = date1.split("-"); String[] d2 = date2.split("-"); int[] a1={0,0,0}; int[] a2={0,0,0}; int[]...
根据给定文件的信息,本文将深入探讨Java中与日期转换及计算相关的几个核心知识点:如何计算当前日期是年度中的第几周、确定某天是一周中的哪一天、日期的格式化处理、获取指定年份月份的具体日期以及如何获得当前...
1. **Java日期时间API**: - Java 8之前,我们主要使用`java.util.Date`和`java.util.Calendar`类来处理日期和时间,但它们的API设计并不理想,使用起来较为复杂。 - 自Java 8开始,引入了`java.time`包,包含`...
java指定日期计算一年内第几天和给出一年内第几天算出指定日期 【指定日期换算成第几天】 2019年10月31日是一年内的第:304天 【一年的第几天换算对应日期】 2019年的第304天 对应的日期是2019-10-31
### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...
判断是否闰年、计算某年的天数、计算某年某月的天数,计算某日期是该年的第多少天、计算某日期是该月的第多少天、计算某日期是该年中的第几个星期、计算某年中的第几个星期是什么日期 计算两个时间之间的间隔数
Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )
在Java编程语言中,计算两个日期之间相差的月数是一个常见的任务,这通常涉及到日期处理和时间计算。本文将深入探讨如何使用Java实现这个功能,包括标准库中的API以及一些高级方法。 首先,Java 8引入了`java.time`...
日期计算是指对日期信息的计算和处理,例如计算某天的前一天、后一天、及星期几等。在本程序中,我们使用了 java.util.Calendar 类来计算日期信息,例如计算某天的前一天、后一天、及星期几等。 六、程序设计 本...
### Java根据日期计算年龄与星期知识点详解 #### 一、概述 在Java中处理日期时,经常需要根据特定的日期来计算出年龄或者确定该日期是星期几。这对于开发涉及日期处理的应用程序非常实用。本文将详细介绍如何使用...
7. 额外功能:某些实现可能包含其他特性,如日期范围选择、日期计算(加减日期)以及与数据库或其他数据源的集成。 在Java开发中,DateChooser控件可以使用第三方库来实现,比如JCalendar库中的JDateChooser,它是...