问题:
开发一个Java 方法来验证用户输入的字符串是否与指定的日期格式匹配,同时考虑仅日期和日期时间格式。
解决方案:
在评估各种方法后,我们决定使用 SimpleDateFormat 类。下面是详细实现:
<code class="java">import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatter { public static boolean isValidFormat(String format, String value) { Date date = null; SimpleDateFormat sdf = new SimpleDateFormat(format); try { date = sdf.parse(value); if (!value.equals(sdf.format(date))) { date = null; } } catch (ParseException e) { // Date parsing failed } return date != null; } public static void main(String[] args) { System.out.println("isValid - dd/MM/yyyy with 20130925 = " + isValidFormat("dd/MM/yyyy", "20130925")); System.out.println("isValid - dd/MM/yyyy with 25/09/2013 = " + isValidFormat("dd/MM/yyyy", "25/09/2013")); System.out.println("isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = " + isValidFormat("dd/MM/yyyy", "25/09/2013 12:13:50")); System.out.println("isValid - yyyy-MM-dd with 2017-18--15 = " + isValidFormat("yyyy-MM-dd", "2017-18--15")); } }</code>
用法:
将所需的日期格式作为第一个参数,将输入字符串作为第二个参数传递给 isValidFormat 方法。该方法返回一个布尔值,指示输入字符串是否与指定格式匹配。
示例输出:
isValid - dd/MM/yyyy with 20130925 = false isValid - dd/MM/yyyy with 25/09/2013 = true isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = false isValid - yyyy-MM-dd with 2017-18--15 = false
以上是如何在 Java 中根据特定格式验证日期字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!