TO_CHAR( now(), 'yyyy-mm-dd hh24:MI:SS') BETWEEN '2023-05-23 17:00:00' and '2023-05-24 01:30:00'; 如果当前时间在17:00-23:59 那两个时间就是当天,如果时间是00:00-01:30 那就是昨天日期到今天的日期 如何使用Java 把这两个时间根据当天时间传进去
时间: 2023-12-03 11:42:13 浏览: 354
可以使用Java中的日期时间类来实现这个功能。以下是一个示例代码:
```java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 如果当前时间在17:00-23:59
if (now.getHour() >= 17 && now.getHour() <= 23) {
// 取当天日期
String fromDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 17:00:00";
String toDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 01:30:00";
System.out.println("fromDate: " + fromDate);
System.out.println("toDate: " + toDate);
}
// 如果当前时间在00:00-01:30
else if (now.getHour() == 0 && now.getMinute() <= 30) {
// 取昨天日期和今天日期
String fromDate = now.minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 17:00:00";
String toDate = now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + " 01:30:00";
System.out.println("fromDate: " + fromDate);
System.out.println("toDate: " + toDate);
}
// 其他情况
else {
System.out.println("当前时间不在指定范围内。");
}
}
}
```
在上面的代码中,我们使用了Java 8引入的日期时间类`LocalDateTime`来获取当前时间,并使用`DateTimeFormatter`类来格式化日期时间。根据当前时间的小时和分钟,我们判断出当前时间属于哪个时间范围,并生成对应的日期时间字符串。最后,我们可以将这两个字符串传入SQL语句中进行查询。
阅读全文