Здравейте,
от няколко часа се ровя и не мога да се справя да разбера как трябва да стане целият процес. Задачата ми е да прочета стринг от конзолата (“10:30 АМ”) и да проверя дали този стринг влиза в определен интервал от часове,но дори не мога да се справя да парсна стринга към дата формат.Прочетох множество страници в гугъл,пробвах със SimpleDateFormat ( това,което аз пиша е “hh:mm a”,но ми дава грешка-unable to parse date.Всякакъв вид помощ ще ми бъде полезна,благодаря ви.
Здравей,
А не можеш ли да пробваш нещо по-просто, например да разгледаш деня като 0 - 1440 мин (24*60мин)
и така 10 - 10:30 АМ би било интервал от минути [600 - 630]
Така ще се получи ли логиката, която ти трябва?
Успех!
Здравей,
за съжаление не става така,защото няма как да обърна входа 10;30АМ в число,което да ползвам. Със сигурност има вариант да се парсне в някаква величина като Date или Тime,но при мен не се получава.
Здравей Антонио,
една забележка - ако patter-ън, който си задал е “hh:mm a”, при вход “4:30 AM” (вместо 04:30 АМ) програмата ти ще хвърли грешка. Затова можеш да промениш pattern-ън на “h:mm a”.
Успех,
Тодор
Здравейте,
явно аз не правя нещо както трябва,но все още не мога да извърша парсването. В момента пробвам с произволен стринг(“10:30 АМ”) и както и да се опитвам не става. Бихте ли ми казали защо получавам грешка?
.При този код получавам грешка “Text “10:30 AM” could not be barsed at index 6”.
Извинявам се за безпокойствието и благодаря за разбирането.
Най-вероятно “АМ” е написано на кирилица. Въпреки че за нас двете изглеждат еднакво, за компютъра са различни.
Здравей,
Можеш да се възползваш от константния вход, а именно, че знаеш откъде докъде са ти часовете, минутите и AM/PM в String-а. Според мен това води до по-лесно решение на задачата, без pattern-и.
Успех!
Здравей,
благодаря ти много за съвета,нещата се получиха.
… или просто добавяш един IF, ако e PM да добавя 12 към променливата за час