`
esffor
  • 浏览: 1367635 次
  • 性别: 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日期计算的关键知识点: ### 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