jueves, 16 de junio de 2011

El mundo de las fechas en java

 Mientras terminaba el proyecto de fin de curso me di cuenta que el manejo 
de fechas en java lo requiere muchas situaciones, hay demasiada información
en Internet que puede liarte mas de lo que ya lo estas así que decidí 
hacer una pequeña clase de manejo de fechas. 
 Serán funciones sencillas y posiblemente útiles a la hora de programar
nuestras aplicaciones.
 
El código seria el siguiente:
 
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
//@author  RisuLau
public class ManejadorFechas
{
  //Metodo que se usara para conseguir la fecha actual
  //@return devolvera un String con la fecha actual 
  //    formato "dd-MM-yyyy"
  public static String getFechaActual() {
    Date ahora = new Date();
    SimpleDateFormat formateador = new SimpleDateFormat("dd-MM-yyyy");
    return formateador.format(ahora);
  }

  //Metodo que nos servira para sumarle una cantidad de dias determinada a una fecha
  //@param fch Es la fecha que usaremos para sumarle los dias
  //@param dias Es el número de días que deseas sumarle
  //@return La fecha resultado de la suma
  public static java.util.Date sumarFechasDias(java.util.Date fch, int dias) {
     Calendar cal = new GregorianCalendar();
     cal.setTimeInMillis(fch.getTime());
     cal.add(Calendar.DATE, dias);
     return new java.util.Date(cal.getTimeInMillis());
  }

  //Metodo que nos servira para sumarle una cantidad de dias determinada a una fecha
  //@param fch Es la fecha que usaremos para sumarle los dias
  //@param dias Es el número de días que deseas restarle 
  //@return La fecha resultado de la resta
  public static synchronized java.util.Date restarFechasDias(java.util.Date fch, int dias)
{
     Calendar cal = new GregorianCalendar();
     cal.setTimeInMillis(fch.getTime());
     cal.add(Calendar.DATE, -dias);
     return new java.util.Date(cal.getTimeInMillis());
  }

  //Metodo que usaremos para comprobar cuantos dia de diferencia hay entre dos fechas
  //@param fechaInicial Sera la fecha con la que empezaremos a contar
  //@param fechaFinal  Sera la fecha con la que acabaremos de contar
  //@return Retorna el numero de dias entre dos fechas
  public static synchronized int diferenciasDeFechas(Date fechaInicial, Date fechaFinal) {

     DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
     String fechaInicioString = df.format(fechaInicial);
     try {
       fechaInicial = df.parse(fechaInicioString);
     } catch (ParseException ex) {
}

     String fechaFinalString = df.format(fechaFinal);
     try {
       fechaFinal = df.parse(fechaFinalString);
     } catch (ParseException ex) {
     }

     long fechaInicialMs = fechaInicial.getTime();
     long fechaFinalMs = fechaFinal.getTime();
     long diferencia = fechaFinalMs - fechaInicialMs;
     double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));
     return ((int) dias);
  }
}
 
Espero haver ayudado y solucionado algun problema. hasta la proxima publicación

jueves, 2 de junio de 2011

Ordenadores cuanticos ya esta aqui

Tras unos días de ausencia vuelvo a bloguear con una noticia de no hace mucho que a algunos les podrá interesar, no hace mucho me entere de que comenzaban a hacer prototipos de los llamados ordenadores cuánticos, es tal mi desconocimiento de la física cuántica que me informa sobre que se trataba y me quede impresionado del enorme potencia que tendrían estos ordenadores dentro de unos años.

A dia de hoy los ordenadores están pensados para trabajar con estados muy definidos a través de bits (0, 1) no hay mas posibles opciones, mientras que con estos nuevos ordenadores y sus qubits conseguirán hacer operaciones muchísimo mas rápido y a la vez. Para explicar mas o menos esto de los estados de los qubits quien le interese le paso el siguiente enlace: 

es ese enlace hablan de un experimento muy interesante de "el gato de Schrödinger", para saber sobre este proyecto os paso el siguiente enlace:

No hace mucho vi una noticia que ya la empresa D-Wave iba a sacar un ordenador cuántico al mercado, aunque nadie sabe si creerse esta noticia, ya que estos ordenadores están aun en pañales y se calcula que tardaran aun unos 20 años en estar en nuestras casas ya que solo hay a día de hoy unos pocos prototipos que funcionan, para saber mas de esta noticia dejo el siguiente enlace al que le interese:

Gracias y hasta la proxima

lunes, 23 de mayo de 2011

Primera entrada

Bienvenidos al blog de RisuLau un blog dedicado a la informática en general y a la programación en particular. Espero poder ayudar a la gente con las publicaciones que suba y porque no aprender yocon ellas.Esta primera publicación la utilizare para subir un pequeño codigo hecho en el lenguaje de programación Java con el que cosneguimos quitar los espacios sobrantes entre dos cadenas de texto que se encuentren dentro de un JTextField en este ejemplo. El codigo seria el siguiente:

private String espacio(JTextField field)
{
     char c;
     int i, len;
     String cadena= field.getText(), stemp = "", resultat = "";
     len = cadena.length();
     for(i = 0; i < len; i++)
    {
         c = cadena.charAt(i);
        if(c == ' ')
       {
            if(stemp.compareTo("") != 0)
           {
                stemp += c;
                resultat += stemp;
                stemp = "";
           }
      }
      else
           stemp += c;
     }
     if(stemp.compareTo("") != 0)
            resultat += stemp;
     resultat = resultat.trim();
     return resultat;
}

Por ejemplo la sisguiente frase: Hola                                  Mundo
la convertiria en la siguiente: Hola Mundo


Espero que esto ayude y poco a poco conseguir mayor cantidad y calidad de publicaciones, gracias.