【发布时间】:2012-04-08 19:35:49
【问题描述】:
我的 Java 代码必须从控制台获取字符串“HH:MM”并且需要对其进行操作。 是否可以从字符串中解析这样的时间以添加例如 2 小时。
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter some time:");
String enteredTime = in.readLine();
// here I want to get time in some variable
谢谢!
结果我必须得到三个日期并定义另一个日期之间是否有三个日期。 我知道我可以在零件上拆分字符串并使用它们,但我正在寻找一种简单的方法来处理这种情况。
我找到了很好的解决方案:
SimpleDateFormat parser = new SimpleDateFormat("HH:mm");
Date ten = parser.parse("10:00");
Date eighteen = parser.parse("18:00");
try {
Date userDate = parser.parse(someOtherDate);
if (userDate.after(ten) && userDate.before(eighteen)) {
...
}
} catch (ParseException e) {
// Invalid date was entered
}
【问题讨论】:
-
String#split(":") 在这里可以很好地工作。查看 String API 了解更多信息。
-
你试过什么?至少在我脑海中浮现的三件事是 java.text.DateFormat、java.text.SimpleDateFormat 和 java.util.Date...
-
我需要获得三次并定义在另一个日期之间是否有第三个日期。
-
试试[一个好的日期解析器。][1] [1]:stackoverflow.com/questions/222245/…
-
日期或时间?这是两个不同的东西。