华丽的痘痘
努力成为一个有价值的程序员
登录
注册
全站
当前博客
空间
博客
好友
相册
留言
王亚楠
ID:andycpp
共
44622
次访问,排名
2401
好友
17
人,关注者
31
人
做一名合格地java教师
andycpp的文章
原创 41 篇
翻译 1 篇
转载 12 篇
评论 15 篇
最近评论
zjcone:
很明确,谢谢!
czdvcc:
wow power leveling
hukaibao2007:
不错
wjjdlove:
貌似不错呢
wjjdlove:
thanks
文章分类
JAVA技术
(RSS)
常见算法
(RSS)
随笔
(RSS)
收藏
经典文章
相册
我的相册
高手专栏
Web高手buaawhl的专栏
(RSS)
存档
2008年08月(1)
2007年09月(3)
2007年08月(7)
2007年07月(11)
2007年06月(5)
2007年02月(1)
2006年10月(7)
2006年09月(5)
2006年08月(1)
2006年06月(1)
2006年04月(2)
2006年03月(3)
2006年02月(3)
软件项目交易
订阅我的博客
验证日期的正确性
收藏
新一篇: 常见Swing事件处理方法
|
旧一篇: Swing程序中关于监听器代码的简化
使用java编程的时候,经常要验证一个日期的正确性,在网上看到一个十分简易但不是很完善的方法,挺有意思的,代码如下:
public
static
boolean
validateDate(String date)
...
{
SimpleDateFormat sdf
=
new
SimpleDateFormat(
"
yyyy-M-d
"
);
try
...
{
Date d
=
sdf.parse(date);
String s
=
sdf.format(d);
return
date.compareTo(s)
==
0
;
}
catch
(ParseException e)
...
{
//
TODO Auto-generated catch block
return
false
;
}
}
思路很简单,先把你输入的字符串格式化为日期,在这一过程中,他会把非法的日期向后顺延(如1月32号顺延为2月1号)。之后再把这个日期格式化为字符串。将这2个字符串比较,若相等,则日期合法,反之日期不合法。
为什么说这个方法不完善呢?在于输入的日期格式。由于在函数中使用的模式为
"
yyyy-M-d
",因此输入的日期不能带多于的0,比如2004-01-22就不行,因为再将日期格式化为字符串时,结果是2004-1-22,根据算法,判定这2个日期不相等(但实际上是相等的)。当然,如果你输入的日期都是补零的(如2003-01-03),那么只需将函数中的模式换为
"
yyyy-MM-dd
"即可。但是如果输入比较混乱,即有补零的,也有不补零的,那就不行了,程序还要写的更复杂些。
发表于 @
2007年07月01日 01:19:00
|
评论(
loading...
)
|
编辑
新一篇: 常见Swing事件处理方法
|
旧一篇: Swing程序中关于监听器代码的简化
评论:没有评论。
发表评论
姓 名:
主 页:
校验码:
看不清,换一张
当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击
登录