问题描述
我试图在 Java 中获取自 Epoch 以来的天数、周数、月数.
I'm trying to get the number of days, weeks, months since Epoch in Java.
Java Calendar 类提供了诸如 calendar.get(GregorianCalendar.DAY_OF_YEAR) 或 Calendar.get(GregorianCalendar.WEEK_OF_YEAR) 之类的东西,这是一个好的开始,但它并不能完全满足我的需要.
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.
在 Java 中是否有一种优雅的方法可以做到这一点?
Is there an elegant way to do this in Java?
推荐答案
你可以使用 Joda Timelibrary 很容易做到这一点 - 除了使用标准 Java Date 和 Calendar 类之外,我将它用于与时间相关的任何事情.看看下面使用该库的示例:
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
这篇关于获取自 Java 中的 Epoch 以来的天数、周数和月数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!