一个关于日期合法性判断的问题

davidyi 2002-05-24 02:41:56
在JAVA中,如何判断一个表示日期的String 是否合法.譬如:"yyyy-mm-dd",我如何判断她是否合法?谢谢
...全文
144 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidyi 2002-05-29
  • 打赏
  • 举报
回复
我想各位误解我的问题了,我问的"yyyy-mm-dd"的合法性是指它内容的合法性.譬如说:2002-05-55就是一个不合法的日期输入.别的好判,主要是2月份比较麻烦点,不过我已经解决了.谢谢各位了 :)
teaky2002 2002-05-27
  • 打赏
  • 举报
回复
虽然写了。但是我觉得用时间来format一下是更好的方法。
davidyi 2002-05-27
  • 打赏
  • 举报
回复
谢谢各位罗,我已经写了一个方法解决了这个问题 :)
stellaxyq 2002-05-24
  • 打赏
  • 举报
回复
format一下
catch ParseException
Luke_cn 2002-05-24
  • 打赏
  • 举报
回复
把你的字符串转换成日期格式,如果出错就说明不合法,用try ...catch就可以了
cnjava 2002-05-24
  • 打赏
  • 举报
回复
new 一个新的Date类,如果有例外,就是错误的,严重同意楼上的看法
solo 2002-05-24
  • 打赏
  • 举报
回复
你可以使用DateFormat类的parse方法。
public Date parse(String text) throws ParseException
将你的字符串放到参数中。如果catch到ParseException说明它不是一个合法的时间字符串。
当然,你还可以设置DateFormat的格式来满足你的格式要求,如"yyyy-mm-dd"、"mm-dd-yyyy"等。
gzwrj 2002-05-24
  • 打赏
  • 举报
回复
public static boolean ValidDateStr(String rStr, String rDateFormat) {
SimpleDateFormat formatter = new SimpleDateFormat (rDateFormat);
formatter.setLenient(false);
try {
formatter.format(formatter.parse(rStr));
} catch (Exception e) {
return false;
}
return true;
}
yehuo 2002-05-24
  • 打赏
  • 举报
回复
你具体想做什么应用,表示日期的String如"yyyy-mm-dd"、"mm-dd-yyyy"或者其他形式都可以说是合法的,这只不过是个格式问题,看你想用来做什么了!
shihb 2002-05-24
  • 打赏
  • 举报
回复
你的String是不是一定是这个格式?
shihb 2002-05-24
  • 打赏
  • 举报
回复
自己写个测试方法喽!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧