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

如何使用Java知道当前年份中当前日期的数量?,java,date,jakarta-ee,calendar,Java,Date,Jakarta Ee,Calendar,我必须用Java计算一年中当前日期的数量 例如,如果今天是1月1日,结果应该是1。如果是2月5日,结果应该是36 如何在Java中自动完成这项工作?是否存在本机支持此功能的类,如Calendar?使用Java 8: LocalDate date = LocalDate.of(2015, 2, 5); int dayNum = date.getDayOfYear(); 使用Java 8: LocalDate date = LocalDate.of(2015, 2, 5); int dayNum

我必须用Java计算一年中当前日期的数量

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

如何在Java中自动完成这项工作?是否存在本机支持此功能的类,如Calendar?

使用Java 8:

LocalDate date = LocalDate.of(2015, 2, 5);
int dayNum = date.getDayOfYear();
使用Java 8:

LocalDate date = LocalDate.of(2015, 2, 5);
int dayNum = date.getDayOfYear();
你可以使用class。当心那个月是零基的。因此,在1月1日的情况下,应该是:

    Calendar calendar = new GregorianCalendar(2015, 0, 1);
    int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);  
你可以使用class。当心那个月是零基的。因此,在1月1日的情况下,应该是:

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

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

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

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

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

小问题,但这是否会将一年中的第一天设为零?不,一月一日返回1。@assylias mmm可能是我的一个愚蠢的问题,但我可以只在应用程序服务器或控制台应用程序中使用LocalDate吗?我不确定控制台应用程序是什么意思,但在Java 8 JVM上运行的任何程序都可以使用该代码。如果您使用的是旧版本,您可以使用日历。这点很小,但这是否会将一年中的第一天设为零?不,一月一日返回1。@assylias mmm也许我的问题很愚蠢,但我可以只在应用程序服务器或控制台应用程序中使用LocalDate吗?我不确定您所说的控制台应用程序是什么意思,但任何在Java8JVM上运行可以使用该代码。如果您使用的是旧版本,则可以使用日历。