如何使用 Java 知道当前年份中的当前日期?

How to know the number of the current day in the current years using Java?

我必须在Java中计算一年中的今天是多少。

例如,如果今天是一月 1,则结果应为 1。如果是二月的 5 结果应该是 36

如何在 Java 中自动完成?是否存在某些原生支持此功能的 class(例如 Calendar)?

与Java 8:

LocalDate date = LocalDate.of(2015, 2, 5);
int dayNum = date.getDayOfYear();
Calendar#get(Calendar.DAY_OF_YEAR);

您可以使用 java.util.Calendar class。小心那个月是从零开始的。所以在你的情况下,1 月 1 日应该是:

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

Joda-Time 2.7 中:

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

时区是决定一天的关键。上面的代码使用了 JVM 当前的默认时区。通常最好指定时区。

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