两种方式 :
一种是验证时间内,一种是用正则来校验

    /*** 判断时间是否在某个时间段内* * @param nowTime  验证的时间* @param beginTime 最早时间* @param endTime 最晚时间* @return*/public static boolean belongCalendar(String nowT, String beginT, String endT) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date nowTime = null;Date beginTime = null;Date endTime = null;try {nowTime = sdf.parse(nowT);beginTime = sdf.parse(beginT);endTime = sdf.parse(endT);} catch (ParseException e) {}Calendar date = Calendar.getInstance();date.setTime(nowTime);Calendar begin = Calendar.getInstance();begin.setTime(beginTime);Calendar end = Calendar.getInstance();end.setTime(endTime);if (date.after(begin) && date.before(end)) {return true;} else if (nowTime.compareTo(beginTime) == 0 || nowTime.compareTo(endTime) == 0) {return true;} else {return false;}}public static void main(String[] args) {System.out.println(belongCalendar("2001-05-27 00:00:00","2000-01-01 00:00:00","2021-05-27 00:00:00"));//trueSystem.out.println(belongCalendar("1999-05-27 00:00:00","2000-01-01 00:00:00","2021-05-27 00:00:00"));//false}/*** java 正则验证时间的有效性 年月日 时分秒* @param timeStr 例:2000-08-03 00:00:00* @return*/public static  boolean valiDateTimeWithLongFormat(String timeStr) {String format = "((19|20)[0-9]{2})-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01]) "+ "([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]";Pattern pattern = Pattern.compile(format);Matcher matcher = pattern.matcher(timeStr);if (matcher.matches()) {pattern = Pattern.compile("(\\d{4})-(\\d+)-(\\d+).*");matcher = pattern.matcher(timeStr);if (matcher.matches()) {int y = Integer.valueOf(matcher.group(1));int m = Integer.valueOf(matcher.group(2));int d = Integer.valueOf(matcher.group(3));if (d > 28) {Calendar c = Calendar.getInstance();c.set(y, m-1, 1);int lastDay = c.getActualMaximum(Calendar.DAY_OF_MONTH);return (lastDay >= d);}}return true;}return false;}public static void main(String[] args) {System.out.println(valiDateTimeWithLongFormat("2001-05-27 00:00:00"));//trueSystem.out.println(valiDateTimeWithLongFormat("2001-05-27"));//false}

Java 验证日期/时间的有效性相关推荐

  1. java处理日期时间 相加减

    参考:http://alexfc.iteye.com/blog/363185 JAVA处理日期时间常用方法: 1.java.util.Calendar  Calendar 类是一个抽象类,它为特定瞬间 ...

  2. mongo java 日期,Java 8日期/时间(JSR-310)类型与Spring Data MongoDB的映射

    我有Java 8日期/时间字段的简单文档 @Document public class Token { private Instant createdAt; ... } 我希望坚持使用Spring D ...

  3. java获取日期/时间

    获取年月日.小时分钟秒 public class DateTimeTest {public static void main(String[] args) {Calendar cal = Calend ...

  4. Java Date 日期 时间 相关方法

    DateTools.java import java.text.SimpleDateFormat; import java.util.Date; /*** 日期操作类*/ public class D ...

  5. Java 8日期时间API教程:LocalDateTime

    该博文是Java 8中引入的有关Date Time API的系列教程的一部分.在本博文中,我将介绍LocalDateTime类中可用的一些方法. LocalDateTime是一个不可更改的线程安全对象 ...

  6. Java—格式化日期/时间

    关注微信公众号:CodingTechWork,一起学习进步. DateFormat    DateFormat继承MessageFormat,是实现日期格式化的抽象类.提供两个方法:format()用 ...

  7. Java 各种日期/时间 对象转Long时间戳

    package cn.xbz;import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTi ...

  8. Java 8 日期时间类

    Java 8 推出了新的日期时间类,比较常使用的有LocalDateTime,ZonedDateTime,ZoneId,ZoneOffset,DateTimeFormatter,通过这几个类可以使处理 ...

  9. JAVA —— 比较日期时间大小

    使用场景:根据日期查询记录(如日志类表)时,为避免日期时间超出范围或超出当前最新时间出现报错,需要通过比较日期时间来做条件判断. 一.比较 年 月 日 import java.text.ParseEx ...

最新文章

  1. 可侦测多种眼疾的AI 系统 对不熟悉眼科的医疗照护人员极有帮助
  2. _DataStructure_C_Impl:SeqListBasedSort
  3. 第三章 学习ICE 3.0--Slice语言
  4. CLR via C# 3 读书笔记(2):第1章 CLR执行模型 — 1.2 将托管模块组合为程序集
  5. 容器源码分析之HashSet (三)
  6. OpenCV--矩阵操作总结
  7. POJ 3186 Treats for the Cows dp
  8. #把函数当作参数传给另一个函数
  9. 2015年5月移动游戏Benchmark
  10. XP系统下IE7访问HTTPS网站提示“此网站的安全证书有问题”的解题思路
  11. 2019.03.25 bzoj4539: [Hnoi2016]树(主席树+倍增)
  12. python在线学习pdf_扣丁学堂Python在线学习之将pdf转成图片的方法
  13. FPGA芯片内两种存储器资源
  14. 计算机核心期刊(北大核心)投稿意见
  15. word文件取消只读模式
  16. 7个 优秀的远程“结对编程“编码工具
  17. webp文件_什么是WebP文件(以及如何打开一个文件)?
  18. 一篇文章带你快速上手Airtest和Poco
  19. AnnotationConfigApplicationContext@xxxx has not been refreshed yet
  20. 创建自己的手机条形码Thingy

热门文章

  1. linux0.12-6-1
  2. 爬取网页小说一键搞定
  3. Xavier红外相机(IP摄像头)开发记录
  4. 华硕X550C系列安装ubuntu后wifi显示被硬件禁用的解决方法
  5. 2022-2027年中国人身保险行业市场调研及未来发展趋势预测报告
  6. 歌谣学前端之React中jsx注意事项
  7. 鸣礼炮21响的含义c语言,健身21响礼炮什么意思?怎么做?一次适合练几组? 21响礼炮做法详解...
  8. asp sql ip地址排序_SQL语言基础
  9. 风林火山游戏运营综合测试题1
  10. oracle drop ship,PO:Drop Shipment Process