1. import java.time.LocalDateTime;
  2. import java.time.format.DateTimeFormatter;
  3. import java.time.format.DateTimeParseException;
  4. import java.util.ArrayList;
  5. import java.util.List;
  6. public class TimestampParser {
  7. /**
  8. * Parses timestamp arguments and returns a list of LocalDateTime objects.
  9. *
  10. * @param timestampStrings A list of strings representing timestamps.
  11. * @return A list of LocalDateTime objects parsed from the input strings.
  12. * Returns an empty list if input is null or empty, or if parsing fails.
  13. */
  14. public static List<LocalDateTime> parseTimestamps(List<String> timestampStrings) {
  15. List<LocalDateTime> parsedDates = new ArrayList<>();
  16. if (timestampStrings == null || timestampStrings.isEmpty()) {
  17. return parsedDates;
  18. }
  19. for (String timestampString : timestampStrings) {
  20. try {
  21. // Define the expected timestamp format. Adjust as needed.
  22. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
  23. // Parse the timestamp string into a LocalDateTime object
  24. LocalDateTime dateTime = LocalDateTime.parse(timestampString, formatter);
  25. parsedDates.add(dateTime);
  26. } catch (DateTimeParseException e) {
  27. // Handle parsing errors (e.g., invalid timestamp format)
  28. System.err.println("Error parsing timestamp: " + timestampString + ". Skipping.");
  29. // Optionally, you could log the error or take other actions.
  30. }
  31. }
  32. return parsedDates;
  33. }
  34. public static void main(String[] args) {
  35. // Example usage
  36. List<String> timestamps = List.of("2024-10-26 10:00:00", "2024-10-27 14:30:00", "invalid-date");
  37. List<LocalDateTime> parsedTimestamps = parseTimestamps(timestamps);
  38. for (LocalDateTime dateTime : parsedTimestamps) {
  39. System.out.println(dateTime);
  40. }
  41. }
  42. }

Add your comment