如何獲取當前時間、兩個時間字符串大小的比較、常用的時間正則表達式


以下實例演示了如何使用 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