Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get the number of days, weeks, and months, since Epoch in Java

I'm trying to get the number of days, weeks, months since Epoch in Java.

The Java Calendar class offers things like calendar.get(GregorianCalendar.DAY_OF_YEAR), or Calendar.get(GregorianCalendar.WEEK_OF_YEAR), which is a good start but it doesn't do exactly what I need.

Is there an elegant way to do this in Java?

like image 700
Ariel Vardi Avatar asked May 27 '11 21:05

Ariel Vardi


1 Answers

You can use the Joda Time library to do this pretty easily - I use it for anything time related other than using the standard Java Date and Calendar classes. Take a look at the example below using the library:

MutableDateTime epoch = new MutableDateTime(); epoch.setDate(0); //Set to Epoch time DateTime now = new DateTime();  Days days = Days.daysBetween(epoch, now); Weeks weeks = Weeks.weeksBetween(epoch, now); Months months = Months.monthsBetween(epoch, now);  System.out.println("Days Since Epoch: " + days.getDays()); System.out.println("Weeks Since Epoch: " + weeks.getWeeks()); System.out.println("Months Since Epoch: " + months.getMonths()); 

When I run this I get the following output:

Days Since Epoch: 15122 Weeks Since Epoch: 2160 Months Since Epoch: 496 
like image 163
bamana Avatar answered Sep 18 '22 12:09

bamana