• Viernes 8 de Noviembre de 2024, 13:46

Autor Tema:  Restar Dias A Una Fecha  (Leído 20095 veces)

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Restar Dias A Una Fecha
« en: Sábado 4 de Agosto de 2007, 16:32 »
0
Alguien me puede decir como le quito unos dias a una clase fecha en java.

...
Definitivamente trabajar con fechas en java es un verdadero infierno, que
lastima que un excelente lenguaje como este se vea opacado por paquetes
tan pobres como lo es este de las fechas, y saber que esto es tan necesario.
A este paquete le falta TODO, no incorpora una cantidad enorme de funciones
necesarias para el tratamiendo de fechas que normalmente se usan:
Comparar fechas, Disminuir/Aumentar una fecha, Diferencia entre fechas, etc.
Y ni que hablar de los contructores, son de una pesima implementacion.
A los dela sun, definitivamente les quedo grando la clase Date.

neopic

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Restar Dias A Una Fecha
« Respuesta #1 en: Martes 7 de Agosto de 2007, 17:45 »
0
Capas que te puede servir esto... fijate y cualquier cosa decime  :D

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;


public class Prueba {

   private static GregorianCalendar calendar = new GregorianCalendar();
   
   public static void main(String[] args) {
      SimpleDateFormat d1 = new SimpleDateFormat("dd-MM-yyyy");
      Date d = new Date();
      System.out.println(d1.format(d));
      System.out.println(d1.format(restarDias(d, 10)));
            
   }
   
   public static Date restarDias(Date date,int dias){
      calendar.setGregorianChange(date);
      calendar.set(GregorianCalendar.DAY_OF_YEAR, calendar.get(GregorianCalendar.DAY_OF_YEAR)-dias);
      
      return calendar.getTime();
   }
}

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Re: Restar Dias A Una Fecha
« Respuesta #2 en: Martes 7 de Agosto de 2007, 20:09 »
0
muchas gracias neopic...........
.....asi x ensima parece que funciona, habria q probarlo y ver....
yo ya habia hecho, pero algo diferente.

de todos modos, hasta ahora he utilizado esa misma clase GregorianCalendar
para resolver los problemitas de fechas y me ha sido suficiente...

Gracias x la intension de colaborarme!!!

javalos

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Restar Dias A Una Fecha
« Respuesta #3 en: Miércoles 8 de Agosto de 2007, 18:17 »
0
La mejor forma es usar la clase java.util.Calendar

y el codigo es así.

Calendar fecha = Calendar.getInstance(); // obtiene la fecha actual
System.out.println(fecha.getTime());
fecha.add(Calendar.DATE, 30); // incrementa en 30 días la fecha actual.
System.out.println(fecha.getTime());



Al utilizar esta clase, puedes incrementar, decrementar la fecha en sus días, meses, o años... solo cambiando el tipo de dato y su valor, por ejemplo para diminuir en 2 meses debe ser   fecha.add(Calendar.MONTH, -2);


Suerte.  :comp:

cahosoft

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Restar Dias A Una Fecha
« Respuesta #4 en: Viernes 6 de Febrero de 2009, 19:26 »
0
/*Mira este metodo...aunque no resta dias... pero los suma..y ademas salida te la formarmatea*/

[public static String sumaDias(String v_fecha_desembolso,int dias) throws ParseException
{
        SimpleDateFormat formatoDelTexto = new SimpleDateFormat("yyyy-MM-dd");
        java.util.Date date = null;
        java.util.Date fechaSumada = null;
        String salida="";

        date = formatoDelTexto.parse(v_fecha_desembolso);

        GregorianCalendar calendar = new GregorianCalendar();
        calendar.setGregorianChange(date);
        calendar.set(GregorianCalendar.DAY_OF_YEAR, calendar.get(GregorianCalendar.DAY_OF_YEAR)+dias);
        fechaSumada =calendar.getTime();
        salida=formatoDelTexto.format(fechaSumada);
        return salida;
}