web-dev-qa-db-fra.com

comment récupérer jour, mois et année à partir de l'horodatage (format long)

J'ai besoin de récupérer jour, année et mois d'un objet d'horodatage sous forme de nombres longs

public long getTimeStampDay()
    {

            String iDate = new SimpleDateFormat("dd/MM/yyyy")
        .format(new Date(born_date.getDate())); 
         .....

              return day; //just the day

    }

public long getTimeStampMonth()
    {
    String iDate = new SimpleDateFormat("dd/MM/yyyy")
        .format(new Date(born_date.getDate())); 
         .....

              return month; //just month

    }

public long getTimeStampYear()
    {
    String iDate = new SimpleDateFormat("dd/MM/yyyy")
        .format(new Date(born_date.getDate())); 
         .....

              return year; //just year
    }

born_date est un objet timestamp.

Est-il possible de faire ça?

Merci d'avance.

19
Kevin
long timestamp = bornDate.getTime();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
return cal.get(Calendar.YEAR);

Il y a des champs de calendrier pour chaque propriété dont vous avez besoin.

Sinon, vous pouvez utiliser joda-time :

DateTime dateTime = new DateTime(bornDate.getDate());
return datetime.getYear();
45
Bozho

Voyant que vous utilisez un format de date dans chaque méthode, vous pouvez utiliser une chaîne de format différente dans chacune d'elles. Par exemple:

public long getTimeStampDay()
    {

            String day = new SimpleDateFormat("dd")
        .format(new Date(born_date.getDate())); 
         .....

              return Long.parseLong(day); //just the day

    }
0
dogbane