`
yutianl
  • 浏览: 9242 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java日期计算

阅读更多
功能:今天,昨天,本周,上周,本月,上月

范围:以周一作为一周的第一天,每周天数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日期处理知识。 Java中的日期和时间API主要有两个版本:一个是早期的`java.util.Date`和`java.util.Calendar`类,另一个是Java 8引入的`java.time`包,包含`LocalDate`, `LocalTime`, ...

    android java日期计算工具

    android java日期计算工具

    Java日期计算之Joda-Time

    这篇博客"Java日期计算之Joda-Time"深入探讨了如何利用Joda-Time进行高效、精确的日期和时间操作。 Joda-Time库提供了比Java内置的`java.util.Date`和`java.util.Calendar`更强大、更直观的API。以下是一些关键的...

    JAVA日期计算程序

    日期计算程序。 1、由用户输入一个月份,屏幕上输出这个月的月历,每星期一行,从星期日开始,到星期六结束。 2、由用户输入一个日期,屏幕上回答是星期几。 3、由用户输入二个日期,计算这两个日期之间相差多少天。

    Java 工作日计算

    java日期计算简单实用方法如下: SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); WorkdayUtils workdayUtils = new WorkdayUtils(); workdayUtils.setLegalWorkdayList(legalWorkdayList); ...

    java日期计算 String date

    用于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 日期转化计算

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

    纯JAVA计算日期的农历节日、公历节日代码!

    1. **Java日期时间API**: - Java 8之前,我们主要使用`java.util.Date`和`java.util.Calendar`类来处理日期和时间,但它们的API设计并不理想,使用起来较为复杂。 - 自Java 8开始,引入了`java.time`包,包含`...

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

    在Java编程语言中,计算两个日期之间相差的月数是一个常见的任务,这通常涉及到日期处理和时间计算。本文将深入探讨如何使用Java实现这个功能,包括标准库中的API以及一些高级方法。 首先,Java 8引入了`java.time`...

    java指定日期计算一年内第几天和给出一年内第几天算出指定日期

    java指定日期计算一年内第几天和给出一年内第几天算出指定日期 【指定日期换算成第几天】 2019年10月31日是一年内的第:304天 【一年的第几天换算对应日期】 2019年的第304天 对应的日期是2019-10-31

    JAVA日期与字符串的转换

    ### JAVA日期与字符串的转换 在Java编程中,经常需要将日期对象转化为字符串形式以便于存储或显示,或者反过来将字符串转化成日期对象来进行日期计算等操作。本文将详细介绍如何在Java中实现这两种转换。 #### 一...

    Java日期计算处理datecount.java

    判断是否闰年、计算某年的天数、计算某年某月的天数,计算某日期是该年的第多少天、计算某日期是该月的第多少天、计算某日期是该年中的第几个星期、计算某年中的第几个星期是什么日期 计算两个时间之间的间隔数

    Java 日期比较工具类

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

    Java日期管理程序

    日期计算是指对日期信息的计算和处理,例如计算某天的前一天、后一天、及星期几等。在本程序中,我们使用了 java.util.Calendar 类来计算日期信息,例如计算某天的前一天、后一天、及星期几等。 六、程序设计 本...

    java根据日期计算年龄和星期

    ### Java根据日期计算年龄与星期知识点详解 #### 一、概述 在Java中处理日期时,经常需要根据特定的日期来计算出年龄或者确定该日期是星期几。这对于开发涉及日期处理的应用程序非常实用。本文将详细介绍如何使用...

    java 日期帮助类

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

Global site tag (gtag.js) - Google Analytics