I need to retrieve day ye开发者_如何学Goar and month from a timestamp object as long numbers:
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
is a timestamp object.
Is it possible to do that?
Thanks in advance.
long timestamp = bornDate.getTime();
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(timestamp);
return cal.get(Calendar.YEAR);
There are calendar fields for each property you need.
Alternatively you can use joda-time:
DateTime dateTime = new DateTime(bornDate.getDate());
return datetime.getYear();
A little refreshment of this well-accepted thread that is a bit outdated by now.
Back in the day, Java 8 introduced Date and Time API which makes extracting much cleaner.
Let's assume that bornDate
is instance of LocalDateTime
.
bornDate.getDayOfMonth(); // extracts day of month
bornDate.getMonth(); // extracts month
bornDate.getYear(); // extracts year
Oracle reference: Java SE 8 Date and Time
Seeing that you are using a dateformat in each method, you can use a different format string in each. For example:
public long getTimeStampDay()
{
String day = new SimpleDateFormat("dd")
.format(new Date(born_date.getDate()));
.....
return Long.parseLong(day); //just the day
}
This method returns the day, date, year and time:
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
I found a simple way to do that:
born_date.getDay();
born_date.getMonth();
born_date.getYear();
even if method getDay getMonth and getYear are deprecated. I think that Bozho solution is the best one.
精彩评论