1 /**

2 * 检测日期字符串是否为合法3 *@paramdateStr4 *@paramformat5 *@return

6 */

7 public static final boolean checkDateFormat(String dateStr,String format) throwsNumberFormatException{8 if(dateStr == null || "".equals(dateStr) ) return false;9 if(dateStr.length() !=format.length()){10 //alert(objName+"长度和格式("+format+")要求的不一致,请重新输入");

11 return false;12 }13 Integer year=null,month=null ,day=null,hour=null,minute= null,second= null;14

15 if( "YYYY".equals(format)){16 year =Integer. valueOf(dateStr);17 } else if( "YYYYMM".equals(format)){18 year = Integer.valueOf(dateStr.substring(0,4));19 month = Integer.valueOf(dateStr.substring(4,6));20 } else if( "YYYYMMDD".equals(format)){21 year = Integer.valueOf(dateStr.substring(0,4));22 month = Integer.valueOf(dateStr.substring(4,6));23 day = Integer.valueOf(dateStr.substring(6,8));24 } else if( "YYYYMMDD HH:MI".equals(format)){25 year = Integer.valueOf(dateStr.substring(0,4));26 month = Integer.valueOf(dateStr.substring(4,6));27 day = Integer.valueOf(dateStr.substring(6,8));28 hour = Integer.valueOf(dateStr.substring(9,11));29 minute = Integer.valueOf(dateStr.substring(12,14));30 } else if( "YYYYMMDD HH:MI:SS".equals(format)){31 year = Integer.valueOf(dateStr.substring(0,4));32 month = Integer.valueOf(dateStr.substring(4,6));33 day = Integer.valueOf(dateStr.substring(6,8));34 hour = Integer.valueOf(dateStr.substring(9,11));35 minute = Integer.valueOf(dateStr.substring(12,14));36 second = Integer.valueOf(dateStr.substring(15,17));37 } else if( "YYYY-MM".equals(format)){38 if(! _checkSpecial(dateStr,4,"-")) return false;39 year = Integer.valueOf(dateStr.substring(0,4));40 month = Integer.valueOf(dateStr.substring(5,7));41 } else if( "YYYY-MM-DD".equals(format)){42 if(! _checkSpecial(dateStr,4,"-")) return false;43 if(! _checkSpecial(dateStr,7,"-")) return false;44 year = Integer.valueOf(dateStr.substring(0,4));45 month = Integer.valueOf(dateStr.substring(5,7));46 day = Integer.valueOf(dateStr.substring(8,10));47 } else if( "YYYY-MM-DD HH:MI:SS".equals(format)){48 if(! _checkSpecial(dateStr,4,"-")) return false;49 if(! _checkSpecial(dateStr,7,"-")) return false;50 year = Integer.valueOf(dateStr.substring(0,4));51 month = Integer.valueOf(dateStr.substring(5,7));52 day = Integer.valueOf(dateStr.substring(8,10));53 hour = Integer.valueOf(dateStr.substring(11,13));54 minute = Integer.valueOf(dateStr.substring(14,16));55 second = Integer.valueOf(dateStr.substring(17,19));56 } else if( "YYYYMMDDHHMISS".equals(format)){57 year = Integer.valueOf(dateStr.substring(0,4));58 month = Integer.valueOf(dateStr.substring(4,6));59 day = Integer.valueOf(dateStr.substring(6,8));60 hour = Integer.valueOf(dateStr.substring(8,10));61 minute = Integer.valueOf(dateStr.substring(10,12));62 second = Integer.valueOf(dateStr.substring(12,14));63 } else{64 //alert(objName+"中定义的时间格式还不能处理!");

65 return false;66 }67

68 //check year

69 if(year != null){70 if(year<1900 || year>2200){71 //alert(objName+" 年份 应介于1900与2200之间,请重新输入!");

72 return false;73 }74

75 }76 //check month

77 if(month != null){78 if(month<1 || month >12){79 //alert(objName+" 月份 应介于1与12之间,请重新输入!");

80 return false;81 }82 }83 //check day

84 if(day != null){85 if((day==0)||(day>31)){86 //alert(objName+" 日 必须介于1与31之间!");

87 return false;88 }89 else if(day>28 && day<31){90 if(month==2){91 if(day!=29){92 //alert(objName+year+"年"+month+"月无"+day+"日。");

93 return false;94 }95 else{96 if((year%4)!=0){97 //alert(objName+year+"年"+month+"月无"+day+"日。");

98 return false;99 }100 else{101 if((year%100==0)&&(year%400!=0)){102 //alert(objName+year+"年"+month+"月无"+day+"日。");

103 return false;104 }105 }106 }107 }108 }109

110 else if(day==31){111 if((month==2)||(month==4)||(month==6)||(month==9)||(month==11)){112 //alert(objName+month+"月无"+day+"日");

113 return false;114 }115 }116 }117 //check hour

118 if(hour != null){119 if(hour<0 || hour >23){120 //alert(objName+"小时应介于0与23之间,请重新输入!");

121 return false;122 }123 }124 //check minute

125 if(minute != null){126 if(minute<0 || minute >59){127 //alert(objName+"小时应介于0与59之间,请重新输入!");

128 return false;129 }130 }131 //check second

132 if(second != null){133 if(second<0 || second >59){134 //alert(objName+"秒应介于0与59之间,请重新输入!");

135 return false;136 }137 }138 return true;139 }140

141 private static boolean _checkSpecial(String str, intpos,String identifier){142 if(str.substring(pos,pos+1).equals(identifier)) return true;143 return false;144 }

java 日期是否合法_检测日期字符串是否为合法(java版)相关推荐

  1. 连字符在java中怎么表示_如何在字符串之间添加连字符 - java

    我有以下字符串xxxxx,我想添加x-xxxx之类的连字符,如何使用Java? 参考方案 您可以使用String#substring(). String newstring = string.subs ...

  2. db2 日期英式写法_英文日期写法 英文日期格式正确写法

    在英语的作文考试中,我们会接触到一种新的题材形式,那就是书信,书信写作的好坏会直接关系到阅读者的理解,英语书信的写作中,千万不要犯一些格式类的基本错误,能避免的尽量避免掉以免影响自己的成绩,英文日期格 ...

  3. java基础-数组-案例练习-检测一个字符串是否为回文 回文字符串是指正着读和反着读该字符串都是相同拼写

    大家好,今天又来分享新案例啦~检测一个字符串是否为回文                 回文字符串是指正着读和反着读该字符串都是相同拼写,比如"radar"."level ...

  4. db2 日期英式写法_英文日期格式的正确写法

    原标题:英文日期格式的正确写法 在英语的作文考试中,我们会接触到一种新的题材形式,那就是书信,书信写作的好坏会直接关系到阅读者的理解,英语书信的写作中,千万不要犯一些格式类的基本错误,能避免的尽量避免 ...

  5. java汽车油耗计算_转发一个手机油耗计算器 (java)

    今天在一个汽车论坛上看见的,试了试,还真不错. 比以前那个Fuel Consumption 功能要强大,虽然都是JAVA软件. 小罗盘手机计算器是作者独自产品策划.美术设计.程序开发.测试发布的手机应 ...

  6. Java中合法的关键词_优秀程序员必须掌握的java中50个关键字

    关键字和保留字的区别 正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的.Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表 ...

  7. i love java怎么写编程_专属于程序员的浪漫-Java输出动态闪图iloveyou

    代码测试可用使用的,运行结果非常辣眼睛,有种二十一世纪初流行于广大中小学生之间的失落非主流的感觉! 还是比较有参考网上卖的,获取当前日期时间,日期类格式化,图形界面的开发等. java awt实现小程 ...

  8. java局域网聊天代码_简单的局域网聊天程序(java版本的)

    局域网聊天程序,首先我已经默认你的电脑已经配置好的java开发的一些环境,所需代码有两个java的源代码,他们分别是1:Server_Test.java-------2:Socket_Test.jav ...

  9. 用java编写验证码程序_编写,验证和分析实时Java应用程序

    本文是" 用实时Java开发"系列的第三篇也是最后一部分,展示了如何设计,编写,验证和分析基本的实时应用程序. 我们将说明: 应用程序的时间和性能要求. 为什么传统的非实时Java ...

最新文章

  1. 第一篇:Django基础
  2. boost::allocator_void_pointer
  3. C语言程序练习-L1-017 到底有多二 (15分)
  4. 验证测试线时为什么会出现“正损耗”?
  5. mime类型是什么 node_Node.js - 文件系统获取文件类型
  6. 无穷大正整数 python_python模块:数字处理
  7. WordPress无其他语言解决方法
  8. UIView动画小问题。
  9. 各种ListView列表方法
  10. MATLAB中ones()函数的用法
  11. 公众号怎么提升阅读量
  12. java生成iso9660工具_UltraISO 软碟通 (ISO编辑工具)
  13. pytorch detach用法
  14. Python Day19
  15. source insight的查找功能
  16. Apifox 生成接口文档 教程与操作步骤
  17. 如何确定IP在同一网段
  18. 学习笔记之——汉明码(Hamming Code)
  19. kubernetes-二进制部署的时候,遇到kubelet启动失败,服务报错Unit kubelet.service entered failed state.
  20. 2018年6月8日 星期五 天气晴

热门文章

  1. 有效利用时间12妙招
  2. 7对讲机调频软件_对讲机怎么配对?
  3. python 多线程并发怎么还是顺序执行_python thread 并发且顺序运行示例
  4. Matlab各种分布的函数
  5. Matlab求重复数字的个数tabulate
  6. Python应用实战-如何使用Plotly绘制精美图形?
  7. python中产生随机数模块_Python中random模块生成随机数详解
  8. centos yum安装_centos7上yum安装碰到的坑
  9. 西北大学计算机转专业,西北大学可以转专业吗,西北大学新生转专业政策
  10. dcc garch matlab,如何用Eviews或者MATLAB实现DCC-garch模型?