【发布时间】:2013-09-16 05:39:23
【问题描述】:
我的目标是 创建一个可以处理以下两个要求的java类
(A) 1. 验证时间戳的格式是否与预期格式匹配。
CCYY-MM-DD'T'hh:mm:ss'.0000000000+'uh:um"
例如:预期的格式
不是静态的。可能是这些中的任何一个
“2013-09-10T18:30:20.123456+10:00”或
“2013-09-10T18:30:20.123+10:00”。
我不介意
精度和价值。只有格式很重要。
(B) 2.验证时间戳是否在一定范围内。
例如:验证时间戳是否在“2013-09-10 18:27”和“2013-09-10 18:33”之间。 (验证仅达到分钟级精度)(可能是 + 或 - 2min 的增量)
关于第一个目标的问题已发布在这里 Java : Custom Timestamp Format : verify format to microsec precision
关于第二个目标: 问题:
如何使用 Java 类验证时间戳是否在给定的分钟精度范围内?
类的输入将是三个参数
- 作为字符串验证的时间戳
- 字符串形式的下限时间戳
- 字符串形式的更大范围时间戳。
我试过了
String date = "2013-09-10T18:30:12.123456789+10:00"
SimpleDateFormat df2 = new SimpleDateFormat("yyyyMMddHHmm");
date = date.substring(0,22)+"+10:00";
Date newDate = df.parse(date);
timestamp_value = df2.format(newDate);
timestamp_value 现在是 201309101830
检查 timestamp_value 是否大于 201309101827。
检查 timestamp_value 是否小于 201309101833
没关系。
但是,我觉得这是一种粗略的实现方式,所以我想知道是否有更好的解决方案。 如果我可以转换为 Timestamp 对象,我认为 .before 和 .after 可以提供帮助。有什么建议吗?
【问题讨论】: