117、编写一个程序,输出你存活的天数。
可以使用 Java 的 LocalDate 类来实现该程序。首先获取当前日期,再获取出生日期,然后使用 until 方法计算两个日期之间的天数差。示例代码如下:
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class DaysAlive {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 假设出生日期,可根据实际情况修改
LocalDate birthDate = LocalDate.of(1990, 1, 1);
// 计算存活天数
long daysAlive = birthDate.until(currentDate, ChronoUnit.DAYS);
System.out.println("你已经存活了 " + daysAlive + " 天。");
}
}
118、实现一个 TimeInterval 类,该类表示一个时间间隔,适用于日历事件(例如在给定日期从 10:00 到 11:00 的会议)。提供一个方法来检查两个时间间隔是否重叠。
以下是实现 TimeInterval 类的 Java 代码示例:
import java.time.LocalDate;
import java.time.LocalTime;
class TimeInterval {
private LocalDate date;
private LocalTime startTime;
private LocalTime endTime;
public TimeInterval(LocalDate date, LocalTime startTime, LocalTime endTime) {
this.date = date;
this.startTime = startTime;
this.endTime = endTime;
}
public boolean overlaps(TimeInterval other) {
if (!this.date.equals(other.date)) {
return false;
}
return !(this.endTime.isBefore(other.startTime) || other.endTime.isBefore(this.startTime));
}
}
在上述代码中, TimeInterval 类包含日期、开始时间和结束时间。 overlaps 方法用于检查两个时间间隔是否重叠。如果日期不同,则直接返回 false ;否则,检查时间是否重叠。
119、编写一个程序,读取一组不同时区的预约,并提醒用户哪些预约将在当地时间的下一个小时内到期。
以下是一个 Java 程序示例,用于解决该问题:
import java.time.*;
import java.util.ArrayList;
import java.util.List;
class Appointment {
ZonedDateTime time;
String description;
public Appointment(ZonedDateTime time, String description) {
this.time = time;
this.description = description;
}
}
public class AppointmentReminder {
public static void main(String[] args) {
// 模拟一组不同时区的预约
List<Appointment> appointments = new ArrayList<>();
appointments.add(new Appointment(ZonedDateTime.of(LocalDateTime.now().plusMinutes(30),
Java日期与时区编程实践

最低0.47元/天 解锁文章
586

被折叠的 条评论
为什么被折叠?



