随笔-61  评论-159  文章-0  trackbacks-0

今天处理一个Java日期时间运算问题:
尝试过几种方法,觉得还是如下方法处理比较灵活,代码如下:

 

 1package org.mmc.date.cal;
 2
 3import java.util.Date;
 4import java.util.Calendar;
 5import java.util.GregorianCalendar;
 6import java.text.SimpleDateFormat;
 7public class DateCal {
 8    Date date = new Date();
 9    GregorianCalendar gc = new GregorianCalendar();
10    SimpleDateFormat  sf = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
11    /**
12     * 
13     * gc.add(1,1)年份加1
14     * gc.add(2,1)月份加1
15     * gc.add(3,1)周加1
16     * gc.add(5,1)天加1
17     * 如果为-1表示是减
18     */

19    public String getDateCal(int d,int beforeMonth)
20    {
21        gc.setTime(date);
22        gc.add(d,beforeMonth);
23        gc.set(gc.get(Calendar.YEAR),gc.get(Calendar.MONTH),gc.get(Calendar.DATE));
24        return sf.format(gc.getTime());
25    }

26    public String getCurrentDate()
27    {
28        return sf.format(date);
29    }

30    public static  void  main(String[] args)
31    {
32        DateCal ud= new DateCal();
33        System.out.println("当前时间  :"+ud.getCurrentDate());
34        System.out.println("前一年    :"+ud.getDateCal(1-1));
35        System.out.println("前一个月  :"+ud.getDateCal(2,-1));
36        System.out.println("前一个星期:"+ud.getDateCal(3-1));
37        System.out.println("前一天    :"+ud.getDateCal(5-1));
38    }

39
40}

41 
42


输出结果:

当前时间  :2009-03-19 21:03:48
前一年    :2008-03-19 21:03:48
前一个月  :2009-02-19 21:02:48
前一个星期:2009-03-12 21:03:48
前一天    :2009-03-18 21:03:48
分析:
深入GregorianCalendar中的add方法源码,代码比较长想研究的自己看源代码。


 



-------------------------------------------------------------------------------------------------
PS:本博客文章,如果没有注明是有“转”字样,属于本人原创。如果需要转载,务必注明作者文章的详细出处地址,否则不允许转载,多谢合作!
posted on 2009-03-19 21:56 apple0668 阅读(1495) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: