How to Validate Time in 24 Hours Format in Java


In this example, we will learn how to validate time in 24 hours format with regular expression.

Source Code

package com.beginner.examples;

import java.util.Calendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ValidateTime {

	public static void main(String[] args) {
		System.out.println(validateTime("2016-5-2 08:02:02"));
		System.out.println(validateTime("2016-02-29 08:02:02"));
		System.out.println(validateTime("2015-02-29 08:02:02"));
		System.out.println(validateTime("2016-02-02 082:02"));
	}
	
	public static boolean validateTime(String timeStr) {
		String format = "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]) " + "([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]";
		Pattern pattern = Pattern.compile(format);
		Matcher matcher = pattern.matcher(timeStr);
		if (matcher.matches()) {
			pattern = Pattern.compile("(d{4})-(d+)-(d+).*");
			matcher = pattern.matcher(timeStr);
			if (matcher.matches()) {
				int y = Integer.valueOf(matcher.group(1));
				int m = Integer.valueOf(matcher.group(2));
				int d = Integer.valueOf(matcher.group(3));
				if (d > 28) {
					Calendar c = Calendar.getInstance();
					c.set(y, m-1, 1);
					int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
					return (lastDay >= d);
				}
			}
			return true;
		}
		return false;
	}

}

Output:

true
true
false
false

References

Imported packages in Java documentation:

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments

How to Validate Time in 24 Hours Format in Java


In this example, we will learn how to validate Time in 24 Hours format with regular expression.

Source Code

package com.beginner.examples;

import java.util.Calendar;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ValidateTime {

	public static void main(String[] args) {
		System.out.println(validateTime("2016-5-2 08:02:02"));
		System.out.println(validateTime("2016-02-29 08:02:02"));
		System.out.println(validateTime("2015-02-29 08:02:02"));
		System.out.println(validateTime("2016-02-02 082:02"));
	}
	
	public static boolean validateTime(String timeStr) {
		String format = "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]) " + "([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]";
		Pattern pattern = Pattern.compile(format);
		Matcher matcher = pattern.matcher(timeStr);
		if (matcher.matches()) {
			pattern = Pattern.compile("(d{4})-(d+)-(d+).*");
			matcher = pattern.matcher(timeStr);
			if (matcher.matches()) {
				int y = Integer.valueOf(matcher.group(1));
				int m = Integer.valueOf(matcher.group(2));
				int d = Integer.valueOf(matcher.group(3));
				if (d > 28) {
					Calendar c = Calendar.getInstance();
					c.set(y, m-1, 1);
					int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);
					return (lastDay >= d);
				}
			}
			return true;
		}
		return false;
	}

}

Output:

true
true
false
false

References

Imported packages in Java documentation:

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments