`
zjx2388
  • 浏览: 1328916 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Java 推算日期(计算距今多少年,多少月,多少天的日期)

    博客分类:
  • J2SE
 
阅读更多
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public final class Utils
{
    
    /**
     * get any time which you want before or after today.
     * @param year  by number years(before or after this year) default:0
     * @param month by number months(before or after this month)default:0,no change
     * @param day   by number day(before or after this day)default:0,no change
     * @return
     */
    public static Date getCountDate(int year, int month, int day){
        
        Calendar cal = Calendar.getInstance ();
        cal.add (Calendar.YEAR, year);
        cal.add (Calendar.MONDAY, month);
        cal.add (Calendar.DATE, day);
        
        return cal.getTime ();
    }
    

    public static String dateToString (Date date)
    {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        String temp = format.format (date);

        return temp;
    }
    
    public static void main(String[] args){

        Date today = Utils.getCountDate (0, 0, 0);
        Date oneYearBefore = Utils.getCountDate (-1, 0, 0);
        Date oneMonthBefore = Utils.getCountDate (0, -1, 0);
        Date oneDayBefore = Utils.getCountDate (0, 0, -1);
        Date oneYearAfter = Utils.getCountDate (1, 0, 0);
        Date oneMonthAfter = Utils.getCountDate (0, 1, 0);
        Date oneDayAfter = Utils.getCountDate (0, 0, 1);
        
        System.out.println (today + "\t" + Utils.dateToString (today));
        System.out.println (oneYearBefore + "\t" + Utils.dateToString (oneYearBefore));
        System.out.println (oneMonthBefore + "\t" + Utils.dateToString (oneMonthBefore));
        System.out.println (oneDayBefore + "\t" + Utils.dateToString (oneDayBefore));
        System.out.println (oneYearAfter + "\t" + Utils.dateToString (oneYearAfter));
        System.out.println (oneMonthAfter + "\t" + Utils.dateToString (oneMonthAfter));
        System.out.println (oneDayAfter + "\t" + Utils.dateToString (oneDayAfter));
    }
}

 

Result:

 

Mon Oct 24 16:09:45 CST 2011 2011-10-24
Sun Oct 24 16:09:45 CST 2010 2010-10-24
Sat Sep 24 16:09:45 CST 2011 2011-09-24
Sun Oct 23 16:09:45 CST 2011 2011-10-23
Wed Oct 24 16:09:45 CST 2012 2012-10-24
Thu Nov 24 16:09:45 CST 2011 2011-11-24
Tue Oct 25 16:09:45 CST 2011 2011-10-25

 

 

分享到:
评论

相关推荐

    Java中用Calendar类计算周和周的起始日期

    在计算某年某周的起始日期时,需要了解 getFirstDayOfWeek() 方法,该方法用于获取某年某周的第一天。该方法首先将年份和周数目设置到 Calendar 对象中,然后使用 add() 方法将日期添加到 Calendar 对象中,然后使用...

    java根据当前日期+指定天数(月份...)得到相应日期,计算两日期之差

    这是我自己总结出来的 java根据当前日期+指定天数(月份...)得到相应日期以及计算两日期之差,希望对大家带来帮助

    c#日期推算

    在这个例子中,我们讨论的是如何计算输入日期之后的第二天,即"后天"。 在C#中,日期和时间的处理主要依赖于`System.DateTime`结构。我们可以创建一个`DateTime`对象来表示特定的日期和时间,并使用它的方法和属性...

    根据年月日计算周日期的小程序

    标题中的“根据年月日计算周日期的小程序”是指一个编程应用,它的主要功能是接收用户在控制台输入的年、月、日信息,然后利用特定算法或规则计算出对应的周日期。在计算机编程中,周日期通常指的是某一天属于一年中...

    根据日期计算星期几的C语言代码

    最终,通过计算从公元1年开始到输入日期的总天数,然后取模7(一周有7天),可以得到星期几。具体地,模运算的结果为0表示星期日,1表示星期一,以此类推。 ### 代码分析 ```c #include"stdio.h" void main() { ...

    C语言编程:一个日期推算的程序

    根据给定的信息,我们可以分析并总结出以下与“C语言编程:一个日期推算的程序”相关的知识点: ### 一、程序概述 该程序的主要功能是实现日期之间的天数差计算。用户输入两个日期(年月日),程序将计算这两个...

    flex 日期转换推算向前后 加减多少小时 多少天 多少分秒的时间

    flex Date 日期转换 推算向前后 加减多少小时 多少天 多少分秒的时间 application文件 下载直接运行 看效果

    雨滴日期推算 v7.0.zip

    雨滴日期推算软件用于日期推算。...利用它,你们可以计算你们已经认识了多少天,100天,888天,还是1000天; 利用它,你们还可以知道过去,将来的一天是星期几,距离现在有多远; 雨滴日期推算软件截图

    日期计算器测试计划1

    测试的主要目标是验证日期计算器的核心功能,即计算两个日期之间的差值以及推算未来日期,同时考虑异常输入情况,保证程序的稳定性和准确性。 **测试需求** 1. **功能性需求测试**: - 验证日期计算器是否能准确...

    计算n天数后的日期情况

    (1) 计算明天的日期(年、月、日),输 出结果; (2) 输入一个天数(n) ,计算n天后的日 期; (3) 计算上述各个日期是星期几,并输出 (4)理解在本次软件开发中, 容易出现问 题和缺陷的情况 提示1:润年计算方法: 年数可以...

    开始日期+工作日 推算结束日期

    不需要编程,纯使用函数解决,根据开始日期和工作日,推算结束日期 1. 解决法定节假日 2. 解决调休等特殊日子 3. 需要每年维护一次“特殊日期”清单。

    SQL日期操作日期推算处理

    SQL日期操作 SQL日期操作日期推算处理

    日期推算器V1.0(时间计算器)

    在这个项目中,开发者可能自定义了类来表示日期和时间,通过封装年、月、日等属性,实现了日期的加减操作。面向对象的设计思路使得代码结构清晰,易于维护,同时提供了良好的可扩展性,可以方便地添加新的功能,如...

    sqlserver日期推算(年,季度,月,星期推算) 源码

    sqlserver日期推算(年,季度,月,星期推算) 源码 sql源码

    calendar 日期推算

    `Calendar`对象包含多个字段,如年、月、日、小时等。你可以使用`get()`方法获取特定字段的值,如获取当前年份: ```java int year = calendar.get(Calendar.YEAR); ``` 而`set()`方法则用于设置这些字段的值,...

    工作日自动计算和推算截止日期(可自定义排除节假日、调休日).xlsm

    Excel单元格双击自动调整及单击自动恢复行高——赠送自动目录序号、需求跟踪矩阵模板

    日历计算 施工日期计算

    "日历计算 施工日期计算" 主要关注如何准确地从施工开始日期推算出竣工日期,这涉及到一系列的时间管理和工程计划制定的技术。 首先,我们需要理解施工工期的计算基础。在计算施工日期时,通常会考虑工作日而非自然...

    计算java对象大小

    在Java编程语言中,计算一个对象的大小是一个相对复杂的过程,因为对象的内存布局涉及到多个因素,包括对象头、实例字段、对齐填充等。这个主题通常与性能优化和内存管理有关,尤其是在处理大规模数据结构时。这篇...

    日期计算器

    4. **日期运算**:程序需要支持日期的加减运算,比如计算两个日期之间的天数差或向后推算某一天。 5. **用户界面**:MFC库提供了丰富的控件和框架,用于创建图形用户界面(GUI)。在这个项目中,可能会使用对话框类...

    利用Excel公式推算出指定年份的母亲节和父亲节日期.rar

    4. 最后,我们需要确认这个日期是否在五月内,如果超过五月最后一天,则返回错误。可以使用`IF`函数检查,确保返回的日期不大于`DATE(B2,6,1)`。 相应的Excel公式可能是这样的: ```excel =IF(WORKDAY(DATE(B2,5,1)...

Global site tag (gtag.js) - Google Analytics