📅  最后修改于: 2023-12-03 14:42:50.740000             🧑  作者: Mango
在Java中,OffsetTime类表示不带时区的时间,需要使用偏移量从UTC(协调世界时)计算出时间。OffsetTime中的atDate()方法允许我们将OffsetTime对象与日期合并,返回一个新的LocalDateTime对象。
public LocalDateTime atDate(LocalDate date)
该方法接受一个LocalDate参数,并返回一个新的LocalDateTime对象,这个对象表示该日的时间和这个OffsetTime对象中的时间。
以下是一个使用atDate()方法的示例。它创建一个OffsetTime对象来表示13:45:30的时间,并将它与今天的日期合并。最后,它打印出结果。
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.OffsetTime;
import java.time.format.DateTimeFormatter;
public class Example {
public static void main(String[] args) {
// 创建一个OffsetTime对象来表示13:45:30的时间
OffsetTime offsetTime = OffsetTime.parse("13:45:30+05:30");
// 获取今天的 LocalDate 对象
LocalDate today = LocalDate.now();
// 将 OffsetTime 对象与 LocalDate 对象合并,返回一个 LocalDateTime 对象
LocalDateTime localDateTime = offsetTime.atDate(today);
// 格式化 LocalDateTime 对象,并打印结果
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = localDateTime.format(formatter);
System.out.println(formattedDateTime);
}
}
上面的代码将输出:2022-01-04 13:45:30
在这个示例中,我们创建了一个OffsetTime对象来表示13:45:30的时间。然后,我们获取了今天的日期,并使用atDate()方法将OffsetTime对象与日期合并。最后,我们使用DateTimeFormatter将LocalDateTime对象格式化为字符串,并打印出结果。