Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26253453
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: Java

2009-01-14 10:21:15

OK,现在来分析一下
当用户输入2008年5月份第一周是从几号到几号的问题了!
第一步:得到今天是哪年哪月哪号哪周都没有问题了。
第二步:确定2008年5月份的一号是周几?

getset 的字段数字,指示当前年中的星期数。
可以确定今天是这一年中的第几周哦哈哈。太强大了这个类
Calendar cal = Calendar.getInstance();
int month=cal.getActualMaximum(Calendar.DAY_OF_MONTH);
此方法可以得到当前月份的天数哦。非常地好用  而且我在润年与平年的时候进行比较处理了发现能够准确得到天数哦!
     //获得周一的日期  
       public static String getMonday(Date date){  
       Calendar c = Calendar.getInstance();  
        c.setTime(date);  
        c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);  
        return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());  
      }
这个方法可以得到当前月份的周一的日
//获得周五的日期
public static String getFriday(Date date){

           Calendar c = Calendar.getInstance();  
               c.setTime(date);  
               c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);     
             return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
       }
一样的也可以获得到周未的日期了哦!
OK!刚刚在网上找了一份非常不错的代码现在整理如下:
/**下面的方法可以通过一个字符串构造出来一个Date类型的数据出来!*/
public static Date strToDateLong(String strDate) {
       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
       ParsePosition pos = new ParsePosition(0);
       Date strtodate = formatter.parse(strDate, pos);
       return strtodate;
    }
/**既然能够构造出来指定日期的时间变量那现在来分析一下指定某天与当天的时间差吧!*/
/**
* 得到二个日期间的间隔天数
*/
    public static String getTwoDay(String sj1, String sj2) {
       SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
       long day = 0;
       try {
         java.util.Date date = myFormatter.parse(sj1);
         java.util.Date mydate = myFormatter.parse(sj2);
         day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
        } catch (Exception e) {
         return "";
      }
        return day + "";
     }
我在代码中实现了可以发现结果是正确 的哦!
而且是能够判断出来润年与否的哦。方便得多了哦!
OK!
/**通过这样子我们可以构造出来一个类似这种字符串类型的时间出来的哦!*/
    public static Date strToDate(String strDate) {
       SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
       ParsePosition pos = new ParsePosition(0);
       Date strtodate = formatter.parse(strDate, pos);
       return strtodate;
     }
   
      /**
       * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
       *
       * @param sdate  所确定的日期形式2009-01-01
       * @param num    要确定的是周几(1表示周一2表示周二)
       * @return
       */
      public static String getWeek(String sdate, String num) {
       // 再转换为时间
       Date dd = VeDate.strToDate(sdate);
       Calendar c = Calendar.getInstance();
       c.setTime(dd);
       if (num.equals("1")) // 返回星期一所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
       else if (num.equals("2")) // 返回星期二所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
       else if (num.equals("3")) // 返回星期三所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
       else if (num.equals("4")) // 返回星期四所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
       else if (num.equals("5")) // 返回星期五所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
       else if (num.equals("6")) // 返回星期六所在的日期
        c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
       else if (num.equals("0")) // 返回星期日所在的日期
       c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
       return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
      }


阅读(809) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~