请教大家一个关于JAVA日期效验的问题
是这样的,如何效验一个字符串是按照“yyyy-mm-dd”的格式输入的日期,另外日期还要求有正确性,比如“1988-08-88”这样也不行。谢谢大家...
是这样的,如何效验一个字符串是按照“yyyy-mm-dd”的格式输入的日期,另外日期还要求有正确性,比如“1988-08-88”这样也不行。
谢谢大家 展开
谢谢大家 展开
展开全部
给你个参考下吧.
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")
;
}
}
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")
;
}
}
展开全部
日期类型的输入应该使用日期控件,就会避免这些不必要的验证
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/**
* 判断字符串是否为合法日期(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;
}
}
* 判断字符串是否为合法日期(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;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给你个参考下吧.
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") ;
}
}
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") ;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询