`

Java日期计算

    博客分类:
  • Java
阅读更多

来自:http://esffor.iteye.com/blog/168233

 

功能:今天,昨天,本周,上周,本月,上月

范围:以周一作为一周的第一天,每周天数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日期计算的关键知识点: ### 1. 获取某个月的最大天数 为了获取某个月的最大天数,我们可以通过`Calendar`类来进行操作。首先,我们需要创建一个`Calendar`...

    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指定日期计算一年内第几天和给出一年内第几天算出指定日期 【指定日期换算成第几天】 2019年10月31日是一年内的第:304天 【一年的第几天换算对应日期】 2019年的第304天 对应的日期是2019-10-31

    JAVA日期与字符串的转换

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

    Java日期计算处理datecount.java

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

    Java 日期比较工具类

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

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

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

    Java日期管理程序

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

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

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

    java 日期选择控件DateChooser

    7. 额外功能:某些实现可能包含其他特性,如日期范围选择、日期计算(加减日期)以及与数据库或其他数据源的集成。 在Java开发中,DateChooser控件可以使用第三方库来实现,比如JCalendar库中的JDateChooser,它是...

Global site tag (gtag.js) - Google Analytics