Получение времени от String - PullRequest
4 голосов
/ 24 марта 2012

Мой Java-код должен получить строку «ЧЧ: ММ» из консоли и должен работать с ней. можно ли проанализировать такое время из строки, чтобы добавить, например, 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   

Спасибо! * * 1004

В результате я должен получить три даты и определить, есть ли три даты между другими датами. Я понимаю, что могу разбивать нити на части и работать с ними, но я ищу простой способ оперирования такими временами.

Я нашел хорошее решение:

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
}

Ответы [ 2 ]

5 голосов
/ 24 марта 2012
sdf = new java.text.SimpleDateFormat ("HH:mm");
sdf.parse ("13:47");
2 голосов
/ 24 марта 2012

Я понимаю, что вы хотите сделать некоторую арифметику дат, например, добавить длительности к датам. Тогда вам определенно следует использовать joda time вместо java.util.Date и Calendar.

Joda предоставляет вам объекты Period и Duration, а также хороший и понятный API.

...