java 格式化 月份 两位_SimpleDateFormat严格的两位数的日期和月份解析

我想验证日期输入,我只希望他们通过如果日和月总是两位数。到目前为止,我一直在用的SimpleDateFormat这样做:SimpleDateFormat严格的两位数的日期和月份解析

SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy");

df.setLenient(false);

try

{

df.parse("10/1/1987");

df.parse("1/1/1987");

df.parse("1/10/1987");

df.parse("1/1/19");

}

catch (ParseException e)

{

e.printStackTrace();

}

所有这些案件经过,虽然,我不希望任何人通过。

是否有一个简单的方法来解决这个问题,否则我将不得不与像第一令牌化的反斜杠字符串:

String[] dateParts = date.split("/");

if (dateParts.length != 3 && dateParts[0].length() != 2 && dateParts[1].length() != 2 && dateParts[2].length() != 4)

System.out.println("Invalid date format");

2016-12-15

Jimmy P

+2

你可以使用[图案](https://docs.oracle.com/javase/7/docs/ api/java/util/regex/Pattern.html)[Matcher](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html),并匹配相应的常规表达...例如'“\ d {2}/\ d {2}/\ d {4}”'。例如)'if(date.matches(“\\ d {2}/\\ d {2}/\\ d {4}”)){...}' –

+0

您可以使用正则表达式,例如([0 -9] {2})/([0-9] {2})/([0-9] {4}) –

+0

您是否正常工作? –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值