「java匹配日期」日期怎么匹配日期
本篇文章给大家谈谈java匹配日期,以及日期怎么匹配日期对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
用JAVA正则表达式怎么匹配年月日(比如要求输入为出生日期)
建议使用 ^(\d{2}|\d{4})[-/](0?[1-9]|1[12])[-/](0?[1-9]|[12]\d|3[01])$ 来匹配(日期不一定有效),然后尝试转换成日期.如果要严谨点可以用^(\d{2}|\d{4})[-/](((0?[13578]|10|12)[-/](0?[1-9]|[12]\d|3[01]))|((0?[469]|11)[-/](0?[1-9]|[12]\d|30))|(0?2[-/](0?[1-9]|[12]\d)))$但是这里还是有个问题:将所有年份的2月29日都当作有效日期
怎么从文本中匹配日期格式并按此排序(Java)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestExp {
public static void main(String[] args) {
ListMapString,Object rs = new ArrayListMapString,Object();
//假定日期字符串的格式为yyyy-MM-dd
String[] s = {"adfkjaskdfakf2012-11-23asdfasdfads",
"asdfasddfafll2011-12-03asdfasfdaa",
"asdfasddfafll2013-02-05asdfasfdaa",
"asdfasddfafll2013-01-03asdfasfdaa"};
//用正则表达式匹配日期字符串
Pattern pattern = Pattern.compile("(\\d{4})(-)(\\d{2})(-)(\\d{2})");
for (int i = 0; i s.length; i++) {
MapString,Object map = new HashMapString, Object();
Date date = null;
Matcher m = pattern.matcher(s[i]);
if(m.find()){
try {
date = new SimpleDateFormat("yyyy-MM-dd").parse(m.group());
} catch (ParseException e) {
e.printStackTrace();
}
}
map.put("date", date);
map.put("value", s[i]);
rs.add(map);
}
//用冒泡法排序
for (int i = 0; i rs.size(); i++) {
for (int j = i; j rs.size(); j++) {
if(((Date)rs.get(i).get("date")).after((Date)rs.get(j).get("date"))){
MapString,Object tmp = rs.set(i, rs.get(j));
rs.set(j, tmp);
}
}
}
for (int i = 0; i rs.size(); i++) {
System.out.println(rs.get(i).get("value"));
}
}
}
用JAVA正则表达式怎么匹配年月日
// //2009-01-01 12:30:30 //年-月-日
String reg = "^\\d{4}-0[1-9]|1[1-2]-0[1-9]|[1-2]\\d|3[0-1] [0-2][0-4]:[0-6]\\d:[0-6]\\d$";
//01/01/2009 12:30:30 月/日/年
String reg2 = "^[0[1-9]|1[1-2]/0[1-9]|[1-2]\\d|3[0-1]/\\d{4} [0-2][0-4]:[0-6]\\d:[0-6]\\d$";
关于java匹配日期和日期怎么匹配日期的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。