public static void ExecuteDailyTask(int hour, int minute, TimerTask task)
      {
        //New calendar
        Calendar now = new GregorianCalendar();
        int presentHour = now.get(Calendar.HOUR_OF_DAY);
        int presentMinute = now.get(Calendar.MINUTE);

        //first execution and successives
        Calendar executionTime = getHoraEjecucion(hour, minute);
        
        //if the time has passed
        if (hour > presentHour || (hour == presentHour && minute > presentMinute))
          {
            executionTime.add(Calendar.DAY_OF_MONTH, 1);
          }
        //one Day    
        long oneDay = 1000L * 60L * 60L * 24L;
        //new timer a trow the task
        Timer DailyTask = new Timer();
        DailyTask.scheduleAtFixedRate(task, executionTime.getTime(), oneDay);

      }