Java,编写一个方法,计算你出生的那天是星期几,并显示距离现在多少天,使用calendar方法
时间: 2023-08-14 13:05:39 浏览: 236
以下是Java代码实现:
```java
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class BirthdayCalculator {
public static void main(String[] args) {
Calendar birthday = Calendar.getInstance();
birthday.set(1990, Calendar.FEBRUARY, 18); // 设置出生日期,注意月份是从0开始计数的,所以2月份实际是1
Date birthDate = birthday.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年M月d日");
System.out.println("出生日期:" + dateFormat.format(birthDate));
Calendar now = Calendar.getInstance();
long daysBetween = (now.getTimeInMillis() - birthday.getTimeInMillis()) / (1000 * 3600 * 24);
System.out.println("距离现在已经过去了 " + daysBetween + " 天。");
String[] weekdays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
int weekdayIndex = birthday.get(Calendar.DAY_OF_WEEK) - 1;
System.out.println("出生那天是" + weekdays[weekdayIndex]);
}
}
```
代码解释:
1. 创建一个 `Calendar` 实例,设置出生日期为1990年2月18日。
2. 使用 `getTime()` 方法将 `Calendar` 对象转换为 `Date` 对象。
3. 使用 `SimpleDateFormat` 类将 `Date` 格式化为指定格式的字符串。
4. 计算距离现在多少天,需要用 `getTimeInMillis()` 方法获取时间戳,再将其转换为天数。
5. 使用 `Calendar` 的 `DAY_OF_WEEK` 字段获取出生那天是星期几,注意需要将结果减一才能对应到 `weekdays` 数组的下标。
阅读全文