根据Java中的天数获取日期

2022-01-11 00:00:00 date calendar java

Simple Question, but Google surprisingly had little on this. I have the number of days from Jan 1st of the year. How can I convert that to a date in Java?

解决方案

Use Calendar for date arithmetic

    Calendar c = Calendar.getInstance();
    c.set(Calendar.YEAR, 2013);
    c.set(Calendar.MONTH, Calendar.JANUARY);
    c.set(Calendar.DATE, 1);
    c.set(Calendar.HOUR, 0);
    c.set(Calendar.MINUTE, 0);
    c.set(Calendar.SECOND, 0);
    c.set(Calendar.MILLISECOND, 0);
    c.add(Calendar.DATE, numberOfDays);
    Date date = c.getTime();

Note that the result may be different for different locales because of DST (summer time). The above example uses default locale.

相关文章