Java验证日期条目
我想知道是否有办法检查Java日期格式,以确保用户不会输入格式为dd-MM-yyyy的日期,比如56-13-2013。 目前,当我输入一个13个月的日期时,它将结转为一年,然后显示1个月。 例如,2013年16月16日将是2014年4月16日
你可以在下面搜索框中键入要查询的问题!
我想知道是否有办法检查Java日期格式,以确保用户不会输入格式为dd-MM-yyyy的日期,比如56-13-2013。 目前,当我输入一个13个月的日期时,它将结转为一年,然后显示1个月。 例如,2013年16月16日将是2014年4月16日
# 1 楼答案
使用^{} 验证输入}
Date
{# 2 楼答案
爪哇。时间
java.util
日期时间API及其格式化APISimpleDateFormat
已经过时且容易出错。建议完全停止使用它们,并切换到modern Date-Time API*此外,下面引用的是来自home page of Joda-Time的通知:
使用
java.time
现代日期时间API的解决方案:这可以通过使用适当的
ResolverStyle
来控制,它提供了三种不同的方法:严格、聪明和宽容。智能选项是默认选项,只要在1-31范围内,它就可以解析月日,只要在1-12范围内,它就可以解析月演示:
输出:
ONLINE DEMO
从Trail: Date Time了解有关现代日期时间API的更多信息
*无论出于何种原因,如果您必须坚持使用Java 6或Java 7,您可以使用ThreeTen-Backport来支持大部分Java。Java 6&;的时间功能;7.如果您正在为Android项目工作,并且您的Android API级别仍然不符合Java-8,请选中Java 8+ APIs available through desugaring和How to use ThreeTenABP in Android Project。