【发布时间】:2020-05-18 17:41:02
【问题描述】:
我正在为学校开发一个 java JFrame 项目。我真的一直在努力使用 java time 包,所以我想知道是否可以在字符串变量中使用 time。
我的程序将制定学习时间表的过程自动化。用户将输入他们拥有的任何活动的开始和结束时间。然后我利用这段时间将它处理成一个字符串hh: mm(e.g:4 PM 将是16:00)。
String finalTime="";
if (dropBox.getSelectedItem().toString().equals("PM")) {
int time = Integer.parseInt((txt.getText().substring(0,2)));
time = time + 12;
finalTime = Integer.toString(time) + txt.getText().substring(2, 5);
}
else {
finalTime = txt.getText();
}
return finalTime;
在他们的活动存储在我的数据库中后,我要求他们输入每次考试的日期。使用这些日期,我为每个考试(字符串主题、java.sql.Date 日期、字符串开始时间、字符串结束时间)制作了不同的“学习时段”。
第一个学习时段正好在考试前三周(或者如果他们在时间较短时创建它,他们的第一个学习时段是在他们制定时间表的那一天),最后一个是考试前一天。
我仍在努力研究如何完成其余的工作,但我很可能会为每门考试分配特定数量的学习时段,然后随机确定哪个时段去的时间。
我计划做的是避免在用户输入他们有活动的同时分配学习时段。但是,无论是将时间存储为字符串还是使用 java.time 包,我都无法弄清楚如何执行此操作。任何帮助将不胜感激。
如果我没有提供足够的信息或代码,请告诉我,我对此还是很陌生!
【问题讨论】:
-
@user 不再推荐
java.util.Date。现在是 2020 年。至于将时间值用作字符串,这是个坏主意。java.time类的整个想法是使日期处理更容易正确完成。如果你自己用字符串做,你会弄错的(这是有保证的)。 -
我的错。就看时间包(docs.oracle.com/javase/8/docs/api/java/time/…)然后
-
我建议你不要使用
java.sql.Date。该课程设计不良且早已过时。而是使用LocalDate作为日期,使用LocalTime作为一天中的时间。两者都来自java.time, the modern Java date and time API。