import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.ArrayList;
import java.util.List;
public class TimestampParser {
/**
* Parses timestamp arguments and returns a list of LocalDateTime objects.
*
* @param timestampStrings A list of strings representing timestamps.
* @return A list of LocalDateTime objects parsed from the input strings.
* Returns an empty list if input is null or empty, or if parsing fails.
*/
public static List<LocalDateTime> parseTimestamps(List<String> timestampStrings) {
List<LocalDateTime> parsedDates = new ArrayList<>();
if (timestampStrings == null || timestampStrings.isEmpty()) {
return parsedDates;
}
for (String timestampString : timestampStrings) {
try {
// Define the expected timestamp format. Adjust as needed.
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// Parse the timestamp string into a LocalDateTime object
LocalDateTime dateTime = LocalDateTime.parse(timestampString, formatter);
parsedDates.add(dateTime);
} catch (DateTimeParseException e) {
// Handle parsing errors (e.g., invalid timestamp format)
System.err.println("Error parsing timestamp: " + timestampString + ". Skipping.");
// Optionally, you could log the error or take other actions.
}
}
return parsedDates;
}
public static void main(String[] args) {
// Example usage
List<String> timestamps = List.of("2024-10-26 10:00:00", "2024-10-27 14:30:00", "invalid-date");
List<LocalDateTime> parsedTimestamps = parseTimestamps(timestamps);
for (LocalDateTime dateTime : parsedTimestamps) {
System.out.println(dateTime);
}
}
}
Add your comment