java - 我想编写一个代码来使用 java 验证不同类型的日期,但是带有 T 和 Z 的日期仍然显示 Invalid
问题描述
这是我写的代码
如果有人曾经尝试过这样的事情,请建议我。
private static final String[] Date_Reg_Ex = {
"yyyy-MM", "yyyy-MM-dd", "dd-MMMM-yyyy", "dd-MM-yyyy", "MM-dd-yyyy", "dd-MM-yyyy HH:mm:ss/SSS",
"yyyy-MM-dd HH:mm", "yyyy-mm-dd'T'HH:MM:ss", "yyyy-MM-dd'T'HH:mm:ss.SSS",
"yyyy-MM-dd HH:mm:ss.SSS", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm:ss.S", "yyyy-MM-dd'@'HH:mm:ss",
"yyyy-MM-dd'/'K:mm a", "MM-dd-yyyy hh:mm a", "MM-dd-yyyy hh:mm:ss a", "hh:mm:ss MMM d, yyyy z",
"EEEE dd/MM/yyyy", "EEE, dd MMM yyyy HH:mm:ss zzz", "EEE MMM dd hh:mm:ss z yyyy", "dd MMMMM yyyy",
"MM/dd/yyyy HH:mm", "MM/YYYY", "MM/YY", "dd/MM/yyyy", "yyyy/MM/dd", "MMM, dd/yyyy", "dd.MM.yyyy", "MMM. dd",
"yyyy", "yyyyMMdd", "MMddyyyy", "MMMM yyyy", "ddMMyyyyHHmmss", "yyyy"
};
public static boolean isValidDate(String value, TimeZone timeZone) {
DateValidator dateValidator = DateValidator.getInstance();
for (String dateRegEx : Date_Reg_Ex) {
if (dateValidator.isValid(value, dateRegEx)) {
return true;
}
}
return false;
}
解决方案
既然您写了“带有 T 和 Z 的日期仍然显示无效”,我想您的意思是:
- “yyyy-mm-dd'T'HH:MM:ss”
- “yyyy-MM-dd'T'HH:mm:ss.SSS”
和
- “hh:mm:ss MMM d, yyyy z”
- “EEE,dd MMM yyyy HH:mm:ss zzz”
- “EEE MMM dd hh:mm:ss z yyyy”
我找不到 2、3、4 和 5 的任何问题。但日期 1 会切换月份和分钟,我猜这不是有意的。
以下是对我有用的日期示例:
- “yyyy- MM -dd'T'HH: mm :ss” -> “2019-09-12T13:21:31”
- “yyyy-MM-dd'T'HH:mm:ss.SSS”->“2019-09-12T13:21:31.020”
- “hh:mm:ss MMM d, yyyy z”->“太平洋标准时间 2019 年 9 月 12 日 1:21:31”
- “EEE,dd MMM yyyy HH:mm:ss zzz”->“2019 年 9 月 12 日星期四 13:21:31 PST”
- “EEE MMM dd hh:mm:ss z yyyy”->“2019 年 9 月 12 日星期四 1:21:31 PST”
推荐阅读
- r - 'caret' package error in train(): "all the Accuracy metric values are missing"
- security - 按文件夹过滤 Google Cloud 安全命令中心的结果
- java - Renaming a project in NetBeans IDE, Why am I getting errors?
- apache-camel - 如何通过命令行将参数传递给 Apache Camel?
- java - How to access collection of source directories of all included build in composite build of Gradle?
- javascript - Document methods inside an object that is a property of the class in better-docs
- html - How to set grid with 1 column
- api - Flutter中从API获取数据时出现格式异常
- ios - 以 UITableView 和 UIImage 作为背景的大标题
- python - 熊猫:计算每“年”总列值的标准差