java输入某年某月某日,判断这一天是这一年的第几天。例如,2001年3月5日是这一年的第64天
时间: 2023-11-20 13:52:22 浏览: 128
Java中可以使用Calendar类来实现这个功能。具体步骤如下:
1. 创建一个Calendar对象,并设置年月日。
2. 使用get方法获取这一天是这个月的第几天。
3. 将月份减1,再创建一个Calendar对象,并设置年月日。
4. 使用getTimeInMillis方法获取这个Calendar对象的时间戳。
5. 将这个时间戳减去第3步中的时间戳,再除以一天的毫秒数(1000 * 60 * 60 * 24),得到这一天是这一年的第几天。
代码如下:
```
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
int year = 2001;
int month = 3;
int day = 5;
Calendar calendar = Calendar.getInstance();
calendar.set(year, month - 1, day);
int dayOfYear = calendar.get(Calendar.DAY_OF_YEAR);
calendar.set(year, 0, 1);
long startOfYear = calendar.getTimeInMillis();
long current = calendar.getTimeInMillis();
long endOfYear = startOfYear + (365 + (calendar.getActualMaximum(Calendar.DAY_OF_YEAR) - 365) % 7) * 24 * 60 * 60 * 1000;
while (current < endOfYear) {
if (current >= startOfYear && current < startOfYear + dayOfYear * 24 * 60 * 60 * 1000L) {
System.out.println("这一天是这一年的第" + (dayOfYear) + "天");
break;
}
current += 24 * 60 * 60 * 1000L;
dayOfYear++;
}
}
}
```
阅读全文