Obtener parte de una fecha en Java
Imaginaros que de una fecha nos interesa solamente el año, o el mes o incluso solo el día. Pues bastaría con estos métodos:
Para obtener el año de un Date de Java:
public int obtenerAnio(Date date){
if (null == date){
return 0;
}
else{
formato="yyyy";
SimpleDateFormat dateFormat = new SimpleDateFormat(formato);
return Integer.parseInt(dateFormat.format(date));
}
}
Para obtener el mes de un Date de Java:
public int obtenerMes(Date date){
if (null == date){
return 0;
}
else{
formato="MM";
SimpleDateFormat dateFormat = new SimpleDateFormat(formato);
return Integer.parseInt(dateFormat.format(date));
}
}
Para obtener el día de un Date de Java:
public int obtenerDia(Date date){
if (null == date){
return 0;
}
else{
formato="dd";
SimpleDateFormat dateFormat = new SimpleDateFormat(formato);
return Integer.parseInt(dateFormat.format(date));
}
}
Unos métodos muy útiles para trabajar con fechas en Java.
Sobre: Fechas Java
Muchas Gracias! Me ha sido muy útil =)
DEMASIADO BUENO TU APORTE
Me alegro que os sirva de ayuda…
Funcionó gracias por el dato
Agradecido, en el principio me costo un poco adaptarlo a mi protecto, pero busque la forma clasicamente en otra clase.
gracias.
muy util lo publicado me ah sido de gran ayuda !!, podrias publicar una segunda parte para extraer el nombre del mes a partir del numero (eso como sugerencia) exelente trabajo
Esta bien la idea solo veo que esta mal que el metodo devuelve una cadena sin embargo deberia de ser del tipo numerico.
Jesús, cierto, el tipo que devuelven es tipo int. Ahora mismo lo corrijo.
Si se quiere que devuelva String, es sin » Integer.parseInt».
Excelente me sirvio mucho.. muchas gracias
Hola! La manera correcta es usar Calendar
import java.util.*;
public class ObtenerPartesFecha {
public static void main (String[] args) {
Calendar c = new GregorianCalendar();
c.setTime(new Date());
int anio = c.get(Calendar.YEAR);
int mes = c.get(Calendar.MONTH) + 1;
System.out.println (anio + » » + mes + » » + new Date());
}
}
Santiago, quizás para obtener solo parte de la fecha usar SimpleDateFormat no se vea la ventaja, pero para formatear fechas, desde mi punto de vista es mejor que usar Calendar.
Por ejemplo para formatear la fecha como «dd/MM/yyyy», con Calendar habría que que concatenar el día, el mes y el año. En cambio con SimpleDateFormat, bastaría algo así: «SimpleDateFormat dateFormat = new SimpleDateFormat(«dd/MM/yyyy»);»
Gracias por tu aporte, y pra santiago siempre es bueno conocer varios metodos para resolver un problema