用java 打印今年所有天,并用yyyy-MM-dd格式
时间: 2023-08-31 14:42:07 浏览: 254
### 回答1:
可以使用Java中的Calendar类来实现打印今年所有天的功能。具体代码如下:
```java
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR));
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.DAY_OF_MONTH, 1);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
while (calendar.get(Calendar.YEAR) == Calendar.getInstance().get(Calendar.YEAR)) {
System.out.println(sdf.format(calendar.getTime()));
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
```
其中,Calendar.getInstance()可以获取当前日期,Calendar.YEAR、Calendar.MONTH、Calendar.DAY_OF_MONTH分别表示年、月、日,SimpleDateFormat("yyyy-MM-dd")用来设置日期的格式。
上面的代码中,首先,把calendar设置成当前年的1月1号,然后不断的增加天数,直到年份不是当前年份.
### 回答2:
要用Java打印今年所有天并按照yyyy-MM-dd格式显示,首先需要获取当前年份和当前月份,并确定今年是否是闰年。然后,通过循环打印出每一天的日期。
下面是实现该功能的示例代码:
```
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class PrintDates {
public static void main(String[] args) {
// 获取当前年份
Calendar calendar = Calendar.getInstance();
int currentYear = calendar.get(Calendar.YEAR);
// 判断今年是否是闰年
boolean isLeapYear = isLeapYear(currentYear);
// 打印今年所有天的日期
for (int month = 1; month <= 12; month++) {
int daysInMonth = getDaysInMonth(month, isLeapYear);
for (int day = 1; day <= daysInMonth; day++) {
calendar.set(currentYear, month - 1, day);
Date date = calendar.getTime();
String formattedDate = formatDate(date);
System.out.println(formattedDate);
}
}
}
// 判断是否是闰年
private static boolean isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return true;
}
return false;
}
// 获取指定月份的天数
private static int getDaysInMonth(int month, boolean isLeapYear) {
int daysInMonth;
if (month == 2 && isLeapYear) {
daysInMonth = 29;
} else if (month == 2) {
daysInMonth = 28;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
daysInMonth = 30;
} else {
daysInMonth = 31;
}
return daysInMonth;
}
// 格式化日期为yyyy-MM-dd格式
private static String formatDate(Date date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
return dateFormat.format(date);
}
}
```
以上代码会打印出今年所有天的日期,格式为yyyy-MM-dd。
阅读全文