Поскольку вы в первую очередь принимаете дату как строку, вам нужно будет преобразовать ее в LocalDateTime, чтобы управлять ею. При этом вы можете сделать что-то вроде этого:
DateTimeFormatter formatter = new DateTimeFormatter("MM/dd/yyyy hh:mm a");
LocalDateTime date = LocalDateTime.parse([yourString], formatter);
Отсюда вы будете выполнять манипуляции с датой / временем, используя методы плюс и минус из этой документации: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html Затем как только вы это сделаете, создайте SimpleDateFormat следующим образом:
SimpleDateFormat sdf = new SimpleDateFormatter.ofPattern(yyyy-MM-dd hh:mm a)
, а затем распечатайте свою строку следующим образом:
sdf.format(date).toString();