На основе Как преобразовать стандартную дату в минуты в java? Информация, я использую эту технику для преобразования даты в минуты, но выходные данные не являются ожидаемым значением (например, 12 часов -> этодолжно быть 720 минут).
Вот мой исходный код
SimpleDateFormat sdf = new SimpleDateFormat("hh");
Date theDate = sdf.parse ("12");
long minutes22 = (theDate.getTime() / 1000) / 60;
System.out.println("Minute "+minutes22);
Выход -420.Может кто-нибудь объяснить мне?
<Первая проблема решена, пожалуйста, взгляните на раздел комментариев>
Новая проблема - вырезать строку.<Проблема также решена, пожалуйста, взгляните на раздел комментариев>
Для другого входа, который я пытался сделать самостоятельно, но после завершения резки строки возникает проблема.Я обнаружил, что дублирующее значение нельзя хранить отдельно.Я не знаю, почему это произошло, потому что я держал в другом индексе.Любое предложение?
Вот еще один мой другой исходный код.
String date = "Sun 10:00-20:00\r\n" +
"Fri 05:00-10:00\r\n" +
"Fri 16:30-23:50\r\n" +
"Sat 10:00-24:00\r\n" +
"Sun 01:00-04:00\r\n" +
"Sat 02:00-06:00\r\n" +
"Tue 03:30-18:15\r\n" +
"Tue 19:00-20:00\r\n" +
"Wed 04:25-15:14\r\n" +
"Wed 15:14-22:40\r\n" +
"Thu 00:00-23:59\r\n" +
"Mon 05:00-13:00\r\n" +
"Mon 15:00-21:00";
List<String> Hour = new ArrayList<String>();
int loop = 0;
String [] replacement = {"sun","mon","tue","wed","thu","fri","sat"};
String new_s = date.toLowerCase().replaceAll(" ","");
for(int j = 0;j<replacement.length;j++)
{
new_s = new_s.replace(replacement[j],"").replace("\r\n","");
}
String temp = "";
temp = temp+new_s.replaceAll("-","");
int show = 0;
while(!temp.equals(""))
{
Hour.add(temp.substring(loop,loop+5));
temp = temp.replace(temp.substring(0,loop+5),"");
System.out.println("Hour "+Hour.get(show));
show++;
}
Вот вывод
Hour 10:00
Hour 20:00
Hour 05:00
Hour 16:30
Hour 23:50
Hour 24:00
Hour 01:00
Hour 04:00
Hour 02:00
Hour 06:00
Hour 03:30
Hour 18:15
Hour 19:00
Hour 04:25
Hour 15:14
Hour 22:40
Hour 00:00
Hour 23:59
Hour 13:00
Hour 15:00
Hour 21:00
Другой вопрос - зачем выводить <0 вместо 1200>
LocalTime froms = LocalTime.parse("20:00", DateTimeFormatter.ofPattern("HH:mm", Locale.ENGLISH));
System.out.println("TIme "+froms.getMinute());'