如果您只需要一年中的某天,为什么不使用GregorianCalendars
DAY_OF_YEAR字段呢?
import java.util.GregorianCalendar;public class CalTest { public static void main(String[] argv) { GregorianCalendar gc = new GregorianCalendar(); gc.set(GregorianCalendar.DAY_OF_MONTH, 8); gc.set(GregorianCalendar.MONTH, GregorianCalendar.JUNE); gc.set(GregorianCalendar.YEAR, 2010); System.out.println(gc.get(GregorianCalendar.DAY_OF_YEAR));}}
或者,您可以计算今天的儒略日期与今年1月1日之间的差额。但请务必在结果中加1,因为1月1日不是一年的第零天:
int[] now = {2010, 6, 8};int[] janFirst = {2010, 1, 1};double dayOfYear = toJulian(now) - toJulian(janFirst) + 1System.out.println(Double.valueOf(dayOfYear).intValue());


