java怎么判断输入的字符串是否为时间格式

java怎么判断输入的字符串是否为时间格式,第1张

通过正则表达式判断。代码如下:

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))

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9914030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存