【发布时间】:2017-11-28 17:13:24
【问题描述】:
我想为一些依赖日期值的数据创建一个小型 GUI。所以我在 JavaFX 中使用LocalDateTimeTextField。所以我将使用以下代码获得选择的时间:
LocalDateTimeTextField tend;
LocalDateTimeTextField tbegin;
String en = tend.getLocalDateTime().withSecond(0).toString();
String ende = en.replaceAll("T", " ");
String endezeit = ende.substring(11, 16);
String be = tbegin.getLocalDateTime().withSecond(0).toString();
String begin = be.replaceAll("T", " ");
String beginzeit = begin.substring(11, 16);
String datum = begin.substring(0, 10);
作为输出我会得到:
System.out.println("Beginn: "+datum + " " + beginzeit);
System.out.println("Ende: "+datum + " " + endezeit);
开始时间:2017-03-08 00:00
结束:2017-03-08 23:59
因此,为了获得开始时间和结束时间,我必须手动选择两个日期。
是否有解决方案自动生成给定的结束时间,例如在选择的开始时间后 1 小时?这样我编辑时报的“工作量”就更少了,最好只选择一个日期。
感谢您的建议!他们工作正常:)
LocalDateTime timebegin = tbegin.getLocalDateTime().withSecond(0);
LocalDateTime timeend = timebegin.plusHours(23).plusMinutes(59).plusSeconds(59);
LocalDate datum = timebegin.toLocalDate();
LocalTime start = timebegin.toLocalTime().plusSeconds(0);
LocalTime ende = timeend.toLocalTime();
tend.setLocalDateTime(timeend);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
但现在我知道,我的问题没有正确表达,因为我仍然想更改应用程序中的 Enddate tend。但是没有机会,因为它在tbegin 之后固定为23:59:59h。但我的想法是为tbegin 设置一个日期,并在之后自动将tend 设置为23:59:59h,但也可能在之后更改为10:00:00h。但也许我必须创建一个按钮来执行这些临时步骤。所以要明白,我想要什么,这里有一些图片:
因此,在我单击按钮之前,它应该给我带有 Enddate 的字段。并且应该可以将结束日期编辑为其他日期/时间。
【问题讨论】:
标签: java javafx time localdate