public boolean isDate(String date) {
String path="\\d{4}-\\d{2}-\\d{2}"//定义匹配规则
Pattern p=Pattern.compile(path)//实例化Pattern
Matcher m=p.matcher(date)//验证字符串内容是否合法
if(m.matches()){
return true
}
return false
}
1、Date是没有格式的。
Date是一个包装了毫秒值的瘦包装器,表示自 1970 年 1 月 1 日 00:00:00 GMT 以来经过的毫秒数。
2、那么我们通常说的日期格式是怎么回事呢?
我们说的日期格式,是将Date,即是毫秒数按照一定的格式展示给我们,展示出来的值是【String字符串】而不是【Date日期】
所以,你可以将Date转化为任意你要的格式
举例说明下:
private static int compareDate(String startDate, String endDate) throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
Date date1 = sdf.parse(startDate)
Date date2 = sdf.parse(endDate)
Calendar calendar1 = Calendar.getInstance()
calendar1.setTime(date1)
StringBuffer sb =new StringBuffer()
int year1=calendar1.get(Calendar.YEAR)
int month1=calendar1.get(Calendar.MONTH)+1
String days1=sb.append(year1).append(month1).toString()
int value1=Integer.valueOf(days1)
Calendar calendar2 = Calendar.getInstance()
calendar2.setTime(date2)
int year2=calendar2.get(Calendar.YEAR)
int month2=calendar2.get(Calendar.MONTH)+1
StringBuffer sb2 =new StringBuffer()
String days2=sb2.append(year2).append(month2).toString()
int value2=Integer.valueOf(days2)
return value1-value2
}
public static void main(String[] args) throws Exception {
String startDate = "2015-04-22 14:29:50"
String endDate = "2015-02-28 14:29:50"
int temp=compareDate(startDate,endDate)
System.out.println(String.format("相差 %s 个月",temp))
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)