如何使用Java了解当前年份当天的数量?

时间:2015-02-27 15:42:18

标签: java date java-ee calendar

我必须用Java计算一年中当天的天数。

例如,如果今天是 1月1日,则resut应为 1 。如果是 2月5日,结果应为 36

如何在Java中自动执行此操作?是否存在本机支持此功能的某些课程(例如日历)?

5 个答案:

答案 0 :(得分:5)

使用Java 8:

LocalDate date = LocalDate.of(2015, 2, 5);
int dayNum = date.getDayOfYear();

答案 1 :(得分:2)

Calendar#get(Calendar.DAY_OF_YEAR);

答案 2 :(得分:2)

您可以使用java.util.Calendar课程。小心月份为零。因此,在1月1日的情况下,它应该是:

    Calendar calendar = new GregorianCalendar(2015, 0, 1);
    int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);  

答案 3 :(得分:2)

int dayOfYear = Calendar.getInstance().get(Calendar.DAY_OF_YEAR);

答案 4 :(得分:1)

Joda-Time 2.7:

int dayOYear = DateTime.now().getDayOfYear();

时区对决定一天至关重要。上面的代码使用JVM的当前默认时区。通常最好指定一个时区。

DateTimeZone zone = DateTimeZone.forID( "America/Montreal" );
int dayOYear = DateTime.now( zone ).getDayOfYear();