Android 查找两个utc时间之间的差异

Android 查找两个utc时间之间的差异,android,time,utc,Android,Time,Utc,我正在尝试创建一个函数,它以2013-11-05T16:44:54.128515的形式接收utc时间,并获取当前utc时间并进行比较。如果小于24小时,则返回小时差;如果大于24小时,则返回天差 public String time_parser(String time) { Date d1 = null; Date d2 = null; // DateFormat df = DateFormat.getTimeInstance()

我正在尝试创建一个函数,它以2013-11-05T16:44:54.128515的形式接收utc时间,并获取当前utc时间并进行比较。如果小于24小时,则返回小时差;如果大于24小时,则返回天差

        public String time_parser(String time)
  {
      Date d1 = null;
        Date d2 = null;
        // DateFormat df = DateFormat.getTimeInstance();
        //df.setTimeZone(TimeZone.getTimeZone("utc"));
        //String gmtTime = df.format(new Date());
         //  Log.d("response ok", "TIME TIME TIME  " +  gmtTime);
        String timesince="";

         final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
         sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
         final String utcTime = sdf.format(new Date());


        try{
            d1=sdf.parse(time);

            d2= sdf.parse(utcTime);
            long diff = d2.getTime()-d1.getTime();
            long diffSeconds = diff / 1000 % 60;
            long diffMinutes = diff / (60 * 1000) % 60;
            long diffHours = diff / (60 * 60 * 1000) % 24;
            long diffDays = diff / (24 * 60 * 60 * 1000);
            if(diffDays >1)
            {
                timesince =  Long.toString(diffDays );
                 Log.d("response ok", "TIME=   " + timesince);
            }
            else
            {
                   timesince =  Long.toString(diffHours);
                   Log.d("response ok", "TIME 2=   " + timesince);
            }

        }
        catch (Exception e) {
            e.printStackTrace();
        }


      return  timesince;
  }

有什么问题吗?日期变量看起来是空的