编写一个JAVA类,用于计算两个日期之间的周数。这个怎么写啊? 帮帮忙 吧。

解决方案 »

  1.   

    Calendar   calendar   =   Calendar.getInstance(); 
    calendar.setTime(new   Date()); ///现在的日期 LZ 可以自定义一个
    long   timethis   =   calendar.getTimeInMillis(); 
    calendar.setTime(date); //date为自定义的
    long   timeend   =   calendar.getTimeInMillis(); 
    long   days   =   ((timethis   -   timeend)   /   (1000   *   60   *   60   *   24))/365;
    要获取 相差的 周数  再除以七 试试看... 
      

  2.   


     public static void main(String[] args)
      {
      Date date = new Date();
      String num = "2009-6-10";  
      try{
      Date m_endTime = new java.text.SimpleDateFormat("yyyy-MM-dd").parse("2009-6-10");
      System.out.println((date.getTime()- m_endTime.getTime())/86400000/7);
      }catch(Exception ex){
      ex.printStackTrace();
      }   
      }
      

  3.   

    public static void main(String[] args)
      {
      //Date date = new Date();
      String strDateStart = "2009-6-10";  
      String strDateEnd = "2010-6-10";  
      try{
      Date dateStart = new SimpleDateFormat("yyyy-MM-dd").parse(strDateStart );
      Date dateEnd = new SimpleDateFormat("yyyy-MM-dd").parse(strDateEnd );
      
      System.out.println((dateEnd .getTime()- dateStart .getTime())/86400000/7);
      }catch(Exception ex){
      ex.printStackTrace();
      }   
      }
    刚才的稍微改了下ctrl + c 之
      

  4.   

    public static void main(String[] args)
      {
      //Date date = new Date();
      String strDateStart = "2009-6-10";  
      String strDateEnd = "2010-6-10";    try{  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
      Date dateStart = sdf.parse(strDateStart );
      Date dateEnd = sdf.parse(strDateEnd );
      
      System.out.println((dateEnd .getTime()- dateStart .getTime())/86400000/7);  }catch(Exception ex){
      ex.printStackTrace();
      }   
      }又该了一下!
      

  5.   

    学习了import java.util.*;
    class gc 
    {
    public static void main(String[] args) 
    {
    Date now = new Date();
    GregorianCalendar gc = new GregorianCalendar();
    gc.set(2010,1,1);
    Date end = gc.getTime();
    long l = now.getTime()-end.getTime();
    System.out.println(l/86400000/7);
    }
    }
      

  6.   


    package com.test;import java.text.SimpleDateFormat;
    import java.util.Date;public class date {
    public static void main(String[] args) { String start_date = "2009-6-10";
    String end_date = "2010-6-10";
    int temp = getDays(start_date,end_date);
    System.out.println(temp);
    } public static int getDays(String startdate, String enddate) {
    int temp = 0;
    try {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    Date dateStart = sdf.parse(startdate);
    Date dateEnd = sdf.parse(enddate);
    temp = (int) ((dateEnd.getTime() - dateStart.getTime()) / 86400000 / 7);
    } catch (Exception ee) {
    ee.printStackTrace();
    }
    return temp;
    }}
    正确答案。呵呵 O(∩_∩)O~ 谢谢 sxzlc 和 cl61917380 
      

  7.   

    ]这里我怕误导你。 gc.set(2010,1,1);这里的月应该比实际的月份数要小1 
    因为GregorianCalendar的月是从0开始的