「java日期正则表达式」java正则表达式匹配时间格式
本篇文章给大家谈谈java日期正则表达式,以及java正则表达式匹配时间格式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中我给String类型日期怎么用正则表达式判断该日期格式并动态创建SimpleDateFormat
- 2、如和用java 写一个 正则表达式 验证日期的 要精确到毫秒的 2009-03-23-13.53.29.000000
- 3、用JAVA正则表达式怎么匹配年月日(比如要求输入为出生日期)
- 4、java中Js验证日期的正则表达式格式为:yyyy/MM/dd
- 5、Java里面效验日期的正则表达式
java中我给String类型日期怎么用正则表达式判断该日期格式并动态创建SimpleDateFormat
public static Date formatDate_1(String date){
Date day=null;
try {
SimpleDateFormat format=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); day = format.parse(date);
//SimpleDateFormat format2=new SimpleDateFormat("yyyy-MM-dd");
// result=format2.format(day);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return day;
}
如和用java 写一个 正则表达式 验证日期的 要精确到毫秒的 2009-03-23-13.53.29.000000
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Test {
public static boolean isDate(String strDate, String sign) {
boolean back = true;
SimpleDateFormat sdf = new SimpleDateFormat(sign);
try {
sdf.parse(strDate);
} catch (ParseException e) {
back = false;
}
return back;
}
public static void main(String[] args) {
String date = "2009-03-23-13.53.29.000000";
String sign = "yyyy-MM-dd-HH.mm.ss.SSSSSS";
System.out.println(Test.isDate(date, sign));
}
}
用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中Js验证日期的正则表达式格式为:yyyy/MM/dd
var result=data.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(10|12|0?[13578])(\/)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(11|0?[469])(\/)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(0?2)(\/)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(\/)(0?2)(\/)(29)$)|(^([3579][26]00)(\/)(0?2)(\/)(29)$)|(^([1][89][0][48])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][0][48])(\/)(0?2)(\/)(29)$)|(^([1][89][2468][048])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][2468][048])(\/)(0?2)(\/)(29)$)|(^([1][89][13579][26])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][13579][26])(\/)(0?2)(\/)(29)$))/);
将所有的(-)改成(\/)不就得了
我很久以前好像写过一个和这差不多的正则
Java里面效验日期的正则表达式
public static void main(String[] args)
{
String checkValue = "20000431112230";
String year = checkValue.substring(0, 4); // 获取年份
String month = checkValue.substring(4, 6); // 获取月份
Boolean isLeap = leapYear(Integer.parseInt(year)); // 判断闰年
System.out.println(isLeap);
StringBuffer eL= new StringBuffer();
String longMonth = "01030507081012"; // 31天的月份
String fix = "([2][0-3]|[0-1][0-9]|[1-9])[0-5][0-9]([0-5][0-9]|[6][0])";
if(isLeap month.equals("02")){ // 针对2月份的情况 【闰年】
eL.append("\\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}else if(!isLeap month.equals("02")){ // 针对2月份的情况 【非闰年】
eL.append("\\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-8]|[0][1-9]|[1-9])"+fix);
}else if(longMonth.contains(month)){ // 31天月份
eL.append("\\d{4}([1][0-2]|[0][0-9])([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}else{ // 30天月份
eL.append("\\d{4}([1][0-2]|[0][0-9])([3][0]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}
Pattern p = Pattern.compile(eL.toString());
Matcher m = p.matcher(checkValue);
boolean flag = m.matches();
if(flag )
{
System.out.println("格式正确");
}
else
{
System.out.println("格式错误");
}
}
public static boolean leapYear(int year) {
Boolean isLeap = false;
if (((year % 100 == 0) (year % 400 == 0))
|| ((year % 100 != 0) (year % 4 == 0)))
isLeap = true;
return isLeap;
}
java日期正则表达式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java正则表达式匹配时间格式、java日期正则表达式的信息别忘了在本站进行查找喔。