开发者

how to retrieve day month and year from Timestamp(long format)

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜