Recibo una marca de hora de una JABÓN servicio en milisegundos. Así que hacer esto:

Date date = new Date( mar.getEventDate() );

¿Cómo puedo extraer el día del mes a partir de la fecha, puesto que los métodos tales como Fecha::getDay() están en desuso?

Estoy usando un pequeño hack, pero yo creo que esta no es la forma correcta para obtener el día de mes.

SimpleDateFormat sdf = new SimpleDateFormat( "dd" );
int day = Integer.parseInt( sdf.format( date ) );
InformationsquelleAutor Daniel | 2010-04-12

3 Comentarios

  1. 36

    Uso Calendario para esto:

    Calendar cal = Calendar.getInstance();
    cal.setTime(mar.getEventDate());
    int day = cal.get(Calendar.DAY_OF_MONTH);
  2. 2

    Actualización: La Joda-Time proyecto se encuentra ahora en el modo de mantenimiento, con el equipo de asesoramiento de la migración a la java.tiempo clases. Ver Tutorial de Oracle.

    Ver el Respuesta correcta por Ortomala Lokni, utilizando los modernos java.tiempo clases. Me voy de este anticuado Respuesta intacta como la historia.


    La Respuesta por Lokni es correcta.

    Aquí es la misma idea pero el uso de Joda-El Tiempo 2.8.

    long millisSinceEpoch = mar.getEventDate() ;
    DateTimeZone zone = DateTimeZone.forID( "America/Montreal" ) ;  //Or DateTimeZone.UTC
    LocalDate localDate = new LocalDate( millisSinceEpoch , zone ) ;
    int dayOfMonth = localDate.getDayOfMonth() ;
  3. 1

    Dada la Constructor de fecha en la pregunta

    Date date = new Date(mar.getEventDate());

    El método mar.getEventDate() devuelve un long que representan el número especificado de milisegundos desde la base estándar de tiempo conocido como «la época», es decir, enero 1, 1970, 00:00:00 GMT.

    Java 8 y más tarde

    En Java 8, se puede extraer el día del mes a partir de este valor, suponiendo UTC, con

    LocalDateTime.ofEpochSecond(mar.getEventDate(),0,ZoneOffset.UTC).getDayOfMonth();

    Nota también de que la respuesta dada por cletus asumir que mar.getEventDate() devuelve un Fecha objeto que no es el caso en la pregunta.

Dejar respuesta

Please enter your comment!
Please enter your name here