@Override
  public boolean validarFecha(int dia, int mes, int anio, boolean bool) {
    // creo el calendario que me dara el timestamp en milisegundos

    Calendar cal = Calendar.getInstance();
    cal.set(Calendar.DAY_OF_MONTH, dia);
    cal.set(Calendar.MONTH, mes);
    cal.set(Calendar.YEAR, anio);
    mes = mes + 1;

    // a partir del calendario puesto en fecha obtengo los milisegundos
    long t = cal.getTimeInMillis(); // + (1000 * 60 * 60 * 24 * 7 * 4);
    long current = new Date().getTime();
    long dif = current - t;
    Integer mili_week = 604800000;
    Long week = dif / mili_week;
    ++week;
    Log.d("sqle", "" + dif + " / " + mili_week + " = " + week);

    Date aux = new Date(t);
    Log.d("sqle", aux.toString());

    if (t <= current /*|| week == 0*/) {
      // guardo el texto con la fecha y la calculo
      try {

        String fecha = " " + dia + "-" + mes + "-" + anio;
        String timestamp = "" + t;
        String week_str = "" + week;
        Log.d("sqle", "fecha " + fecha);
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("fecha_str", fecha);
        map.put("fecha_t", timestamp);
        map.put("fecha_en_semanas", week_str);

        MySQLiteHelper db = new MySQLiteHelper(this);
        if (bool) {
          db.updateFechaPeriodo(map);
          bool = true;
        } else {
          if (db.agregarFechas(map)) {
            bool = true;

          } else {
            bool = false;
          }
        }

      } catch (Exception e) {
        Toast.makeText(
                PanzaGaleria.this,
                "No se pudo guardar la fecha. Se le requerira en algunas secciones.",
                Toast.LENGTH_LONG)
            .show();
        bool = false;
      }

    } else {
      // lanzo un error y le digo que ponga bien la fecha
      Toast.makeText(PanzaGaleria.this, "Fecha no valida", Toast.LENGTH_SHORT).show();
      this.ingresarFecha();
      bool = false;
    }
    return bool;
  }