请教大家一个关于JAVA日期效验的问题

是这样的,如何效验一个字符串是按照“yyyy-mm-dd”的格式输入的日期,另外日期还要求有正确性,比如“1988-08-88”这样也不行。谢谢大家... 是这样的,如何效验一个字符串是按照“yyyy-mm-dd”的格式输入的日期,另外日期还要求有正确性,比如“1988-08-88”这样也不行。
谢谢大家
展开
 我来答
水忠隐浩穰
2013-12-01 · TA获得超过3813个赞
知道大有可为答主
回答量:3224
采纳率:26%
帮助的人:185万
展开全部
给你个参考下吧.
public
class
TestDate{
public
TestDate(String
dateTime){
boolean
isDate
=
false
;//用来标志是否是符合要求的日期
String
date[]
=
dateTime.split("-")
;//按"-"拆分日期字符串
if(date.length==3){//判断是否拆分为3个字符串,如果不是,肯定不是你要的结果
if(date[0].length()==4&&date[1].length()==2&&date[2].length()==2){//年月日的长度是否符合
int
year
=
0
;
int
month
=
0
;
int
day
=
0
;
try{
year
=
Integer.parseInt(date[0])
;
month
=
Integer.parseInt(date[1])
;
day
=
Integer.parseInt(date[2])
;
if(year>0
&&
month>0
&&
month<=12
&&
day>0
&&
day<=12){
isDate
=
true
;
}
}catch(Exception
e){
//System.out.println("输入日期不合要求!")
;
}
}
}
if(isDate){
System.out.println("输入日期符合要求:"
+
dateTime)
;
}else{
System.out.println("输入日期不合要求!")
;
}
}
public
static
void
main(String
args[]){
new
TestDate("2008-13-10")
;
}
}
暴雁菱0e1
2010-04-15 · TA获得超过2002个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:0
展开全部
日期类型的输入应该使用日期控件,就会避免这些不必要的验证
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kook_82
2010-04-15 · TA获得超过328个赞
知道答主
回答量:187
采纳率:0%
帮助的人:122万
展开全部
/**
* 判断字符串是否为合法日期(yyyy-MM-dd)
*
* @param inputDate
* 输入字符串
* @return 合法:true;否则:false
*/
public static boolean isDate(String inputDate) {
// 判断输入参数是否为空
if (null == inputDate || "".equals(inputDate)) {
// 为空的时候返回真
return true;
}
try {
// 建立日期格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
formatter.setLenient(false);

// 转换日期
formatter.parse(inputDate);
// 转换成功返回真
return true;
} catch (Exception e) {
// 出现异常返回假
return false;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgfcjx
推荐于2020-12-22 · TA获得超过104个赞
知道答主
回答量:60
采纳率:0%
帮助的人:46.2万
展开全部
给你个参考下吧.

public class TestDate{
public TestDate(String dateTime){
boolean isDate = false ;//用来标志是否是符合要求的日期
String date[] = dateTime.split("-") ;//按"-"拆分日期字符串
if(date.length==3){//判断是否拆分为3个字符串,如果不是,肯定不是你要的结果
if(date[0].length()==4&&date[1].length()==2&&date[2].length()==2){//年月日的长度是否符合
int year = 0 ;
int month = 0 ;
int day = 0 ;
try{
year = Integer.parseInt(date[0]) ;
month = Integer.parseInt(date[1]) ;
day = Integer.parseInt(date[2]) ;
if(year>0 && month>0 && month<=12 && day>0 && day<=12){
isDate = true ;
}
}catch(Exception e){
//System.out.println("输入日期不合要求!") ;
}
}
}
if(isDate){
System.out.println("输入日期符合要求:" + dateTime) ;
}else{
System.out.println("输入日期不合要求!") ;
}
}
public static void main(String args[]){
new TestDate("2008-13-10") ;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式