我必须用Java计算一年中当天的天数。
例如,如果今天是 1月1日,则resut应为 1 。如果是 2月5日,结果应为 36
如何在Java中自动执行此操作?是否存在本机支持此功能的某些课程(例如日历)?
答案 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();