1. import java.time.LocalDateTime;
  2. import java.time.ZoneId;
  3. import java.time.format.DateTimeFormatter;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6. public class TimeValueChecker {
  7. public static void main(String[] args) {
  8. // Example usage
  9. String inputDateTimeString = "2024-01-01T10:30:00Z"; //Example input
  10. LocalDateTime dateTime = parseDateTime(inputDateTimeString);
  11. if (dateTime == null) {
  12. System.err.println("Error: Invalid date/time format. Using default value.");
  13. dateTime = getDefaultDateTime();
  14. }
  15. System.out.println("Parsed Date and Time: " + dateTime);
  16. }
  17. public static LocalDateTime parseDateTime(String dateTimeString) {
  18. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssX"); // ISO 8601 format
  19. try {
  20. return LocalDateTime.parse(dateTimeString, formatter);
  21. } catch (Exception e) {
  22. System.err.println("Error parsing date/time: " + e.getMessage() + ". Using default value.");
  23. return null; // Indicate parsing failure
  24. }
  25. }
  26. public static LocalDateTime getDefaultDateTime() {
  27. // Default date and time (e.g., current date and time)
  28. return LocalDateTime.now(); //Use current time as default. Can be changed to a fixed default.
  29. }
  30. public static void checkTimeValue(String timeValueString) {
  31. LocalDateTime dateTime = parseDateTime(timeValueString);
  32. if (dateTime == null) {
  33. System.err.println("Error: Invalid time value '" + timeValueString + "'. Using default value.");
  34. dateTime = getDefaultDateTime();
  35. }
  36. //Further checks can be added here, e.g., validation for specific time ranges.
  37. if(dateTime.isBefore(LocalDateTime.now().minusDays(7))) {
  38. System.err.println("Warning: Time value is more than 7 days in the past. Using default value.");
  39. dateTime = getDefaultDateTime();
  40. }
  41. System.out.println("Checked Time Value: " + dateTime);
  42. }
  43. }

Add your comment