对于时间格式的转换
描述一个场景,前端传递一个String类型的时间,格式为yyyy-MM-dd,要求后端接收到这个时间格式之后,转换成yyyy-MM-dd HH:mm:ss.SSS格式的,转换成两种形式,分别表示当前的最开始和当天的结束。
例如:传递2025-01-18经过转换之后变成2025-01-18 00:00:00.000和2025-01-18 23:59:59.999
public class DateFormat{
public static void main(String[] args){
String inputDate = "2025-01-18";
// 定义输入格式
DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 定义输出格式
DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
// 解析输入的日期字符串为LocalDate对象
LocalDate localDate = LocalDate.parse(inputDate,inputFormatter);
// 获取当前的开始时间
LocalDateTime startOfDay = localDate.atStartOfDay();
// 获取当天的结束时间
LocalDateTime endOfDay = localDate.atTime(23,59,59,999_000_000);
// 将LocalDateTime对象格式化为目标字符串
String startStr = startOfDay.format(outputFormatter);
String endStr = endOfDay.format(outputFormatter);
}
}