Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用criteria API仅比较ZoneDateTIme中的小时_Java_Hibernate_Criteria - Fatal编程技术网

Java 使用criteria API仅比较ZoneDateTIme中的小时

Java 使用criteria API仅比较ZoneDateTIme中的小时,java,hibernate,criteria,Java,Hibernate,Criteria,我有一个实体类Order,它具有属性ZonedDateTime deliveryTime。我想提取所有交付时间在每天上午11点到下午2点之间的订单 builder.between(root.get(“deliveryDate”)、??、??)之间 我可以限制我的结果到日期界限,但我的目标是限制交付时间 有人能帮忙吗?您可以使用和: ZonedDateTime now = ZonedDateTime.now(); // 2017-04-18T14:54:38.567+01:00[Europe/D

我有一个实体类
Order
,它具有属性
ZonedDateTime deliveryTime
。我想提取所有交付时间在每天上午11点到下午2点之间的订单

builder.between(root.get(“deliveryDate”)、??、??)之间

我可以限制我的结果到日期界限,但我的目标是限制交付时间

有人能帮忙吗?

您可以使用和:

ZonedDateTime now  = ZonedDateTime.now();
// 2017-04-18T14:54:38.567+01:00[Europe/Dublin]

DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("ha");
LocalTime start = LocalTime.parse("11AM",timeFormatter);
LocalTime end = LocalTime.parse("2PM",timeFormatter);

System.out.println(now.toLocalTime().isAfter(start)); // true
System.out.println(now.toLocalTime().isBefore(end)); // false

我希望这有帮助

不需要DateTimeFormatter。只需使用
LocalTime.of(11,0)
LocalTime.of(14,0)
。但问题是,我无法在我的
root.get(“deliveryDate”)
上调用方法
toLocalTime()
,因为它不是
ZonedDateTime.class
的实例,而是接口路径,这是另一回事