请教个问题。  写一个方法 方法参数是Date类型的时间(格林威治时间)  参数方法是 获取当前时间与这个格林威治时间的时间差  返回参数是 String 类型的 这个时间差 (这个格林威治时间不是我定义的   是其他方法返回的, 是Date类型) 或者是帮忙修改下也可以  在这里谢谢了。SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   java.util.Date now = df.parse("2004-03-26 13:31:40");
   java.util.Date date=df.parse("2004-01-02 11:30:24");
   long l=now.getTime()-date.getTime();
   long day=l/(24*60*60*1000);
   long hour=(l/(60*60*1000)-day*24);
   long min=((l/(60*1000))-day*24*60-hour*60);
   long s=(l/1000-day*24*60*60-hour*60*60-min*60);
   System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");

解决方案 »

  1.   

    我没有理解错吧?楼主是要把下面的代码改写成一个方法?希望是我理解错了。public static void main(String[] args) throws ParseException
        {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            java.util.Date now = df.parse("2004-03-26 13:31:40");
            java.util.Date date = df.parse("2004-01-02 11:30:24");
            
            String d = timeDiff(now, date);
            System.out.println(d);
        }    public static String timeDiff(Date now , Date date)
        {
            long l = now.getTime() - date.getTime();
            long day = l / (24 * 60 * 60 * 1000);
            long hour = (l / (60 * 60 * 1000) - day * 24);
            long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
            long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
            return day + "天" + hour + "小时" + min + "分" + s + "秒";
        }
      

  2.   

      打错了  参数是个 Date类型 格林尼治时间   例如:Tue Aug 09 22:04:16 +0800 2011
      返回与当前时间的时间差   不好意思啊 。。
      

  3.   

    public static void main(String[] args) throws ParseException
        {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            java.util.Date now = df.parse("2004-03-26 13:31:40");
            java.util.Date date = df.parse("2004-01-02 11:30:24");
            
            String d = timeDiff(now, date);
            System.out.println(d);
        }    public static String timeDiff(Date date)
        {
            long l = new Date().getTime() - date.getTime();
            long day = l / (24 * 60 * 60 * 1000);
            long hour = (l / (60 * 60 * 1000) - day * 24);
            long min = ((l / (60 * 1000)) - day * 24 * 60 - hour * 60);
            long s = (l / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
            return day + "天" + hour + "小时" + min + "分" + s + "秒";
        }