如何获取当前时间、两个时间字符串大小的比较、常用的时间正则表达式


以下实例演示了如何使用 Date 类及 SimpleDateFormat 类的 format(date) 方法来输出当前时间:

SimpleDateFormat sdf = new SimpleDateFormat();// 格式化时间
sdf.applyPattern("yyyy-MM-dd HH:mm:ss ");// a为am/pm的标记
Date date = new Date();// 获取当前时间
System.out.println("现在时间:" + sdf.format(date)); // 输出已经格式化的现在时间(24小时制)

以上代码运行输出结果为:现在时间:2021-07-08 16:56:28

 

 

  //创建日期转换对象 (选择自己要进行比较的时间格式)

  //HH:mm:ss为时分秒,年月日为yyyy-MM-dd

DateFormat df = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
try {
  Date dt1 = df.parse("2021-07-08  15:00:00");//将字符串转换为date类型
  Date dt2 = df.parse("2021-07-08  17:00:00");
  
//比较时间大小,如果dt1大于dt2则输出yes,否则输出no   if(dt1.getTime()>dt2.getTime()){     System.out.println("yes");    }else{
    System.out.println("no");
   }   }
catch (ParseException e) {   // TODO Auto-generated catch block   e.printStackTrace(); }

以上代码运行输出结果为:no

 

时间格式:yyyy-MM-dd HH:mm:ss

时间的正则表达式:

String timeRegex = "^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\\s+([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$";

boolean b_1 = Pattern.matches(timeRegex, "2021-07-23 16:37:00");
System.out.println( b_1);

输出结果为: true

 

时间格式:yyyy-MM-dd  

时间的正则表达式:

String timeRegex = "^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$";

boolean b_2 = Pattern.matches(timeRegex, "2021-07-27");
System.out.println( b_2);

输出结果为: true

 

时间格式:HH:mm:00  

时间的正则表达式:

String timeRegex = "^(([1-9]{1})|([0-1][0-9])|([1-2][0-3])):([0-5][0-9]):([0-0][0-0])$";


boolean b_3 = Pattern.matches(timeRegex, "09:59:00");
System.out.println( b_3);

输出结果为: true


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM