Java 验证日期/时间的有效性
两种方式 :
一种是验证时间内,一种是用正则来校验
/*** 判断时间是否在某个时间段内* * @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 验证日期/时间的有效性相关推荐
- java处理日期时间 相加减
参考:http://alexfc.iteye.com/blog/363185 JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间 ...
- mongo java 日期,Java 8日期/时间(JSR-310)类型与Spring Data MongoDB的映射
我有Java 8日期/时间字段的简单文档 @Document public class Token { private Instant createdAt; ... } 我希望坚持使用Spring D ...
- java获取日期/时间
获取年月日.小时分钟秒 public class DateTimeTest {public static void main(String[] args) {Calendar cal = Calend ...
- Java Date 日期 时间 相关方法
DateTools.java import java.text.SimpleDateFormat; import java.util.Date; /*** 日期操作类*/ public class D ...
- Java 8日期时间API教程:LocalDateTime
该博文是Java 8中引入的有关Date Time API的系列教程的一部分.在本博文中,我将介绍LocalDateTime类中可用的一些方法. LocalDateTime是一个不可更改的线程安全对象 ...
- Java—格式化日期/时间
关注微信公众号:CodingTechWork,一起学习进步. DateFormat DateFormat继承MessageFormat,是实现日期格式化的抽象类.提供两个方法:format()用 ...
- Java 各种日期/时间 对象转Long时间戳
package cn.xbz;import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTi ...
- Java 8 日期时间类
Java 8 推出了新的日期时间类,比较常使用的有LocalDateTime,ZonedDateTime,ZoneId,ZoneOffset,DateTimeFormatter,通过这几个类可以使处理 ...
- JAVA —— 比较日期时间大小
使用场景:根据日期查询记录(如日志类表)时,为避免日期时间超出范围或超出当前最新时间出现报错,需要通过比较日期时间来做条件判断. 一.比较 年 月 日 import java.text.ParseEx ...
最新文章
- 可侦测多种眼疾的AI 系统 对不熟悉眼科的医疗照护人员极有帮助
- _DataStructure_C_Impl:SeqListBasedSort
- 第三章 学习ICE 3.0--Slice语言
- CLR via C# 3 读书笔记(2):第1章 CLR执行模型 — 1.2 将托管模块组合为程序集
- 容器源码分析之HashSet (三)
- OpenCV--矩阵操作总结
- POJ 3186 Treats for the Cows dp
- #把函数当作参数传给另一个函数
- 2015年5月移动游戏Benchmark
- XP系统下IE7访问HTTPS网站提示“此网站的安全证书有问题”的解题思路
- 2019.03.25 bzoj4539: [Hnoi2016]树(主席树+倍增)
- python在线学习pdf_扣丁学堂Python在线学习之将pdf转成图片的方法
- FPGA芯片内两种存储器资源
- 计算机核心期刊(北大核心)投稿意见
- word文件取消只读模式
- 7个 优秀的远程“结对编程“编码工具
- webp文件_什么是WebP文件(以及如何打开一个文件)?
- 一篇文章带你快速上手Airtest和Poco
- AnnotationConfigApplicationContext@xxxx has not been refreshed yet
- 创建自己的手机条形码Thingy
热门文章
- linux0.12-6-1
- 爬取网页小说一键搞定
- Xavier红外相机(IP摄像头)开发记录
- 华硕X550C系列安装ubuntu后wifi显示被硬件禁用的解决方法
- 2022-2027年中国人身保险行业市场调研及未来发展趋势预测报告
- 歌谣学前端之React中jsx注意事项
- 鸣礼炮21响的含义c语言,健身21响礼炮什么意思?怎么做?一次适合练几组? 21响礼炮做法详解...
- asp sql ip地址排序_SQL语言基础
- 风林火山游戏运营综合测试题1
- oracle drop ship,PO:Drop Shipment Process