時間戳和正則表達式
時間戳
一、定義
時間戳是一份能夠表示一份數據在一個特定時間點已經存在的完整的可驗證的數據。 它的提出主要是為用戶提供一份電子證據, 以證明用戶的某些數據的產生時間。
二、精度
- 精確到秒
- 精確到毫秒
三、時間戳和時間的轉換
Date————>離不開SimpleDateFormat(格式化時間)/或者此類下 setTime(); 或者 getTime();
若只獲取年月日:LocalDate————>離不開DateFormatter(格式化日期)
四、生成時間戳
法一:
import java.text.SimpleDateFormat;
import java.util.Date;
public class time{
public static void main(String[] args){
Date date = new Date();//為系統當前時間
String strDateFormat = "yyyy-MM-dd HH:mm:ss";//設置日期格式
SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat);
System.out.println(sdf.format(date));
}
}
運行結果:
#注:定義 SimpleDateFormat 時 new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); 里面字符串頭尾不能有空格,有空格那是用轉換時對應的時間空格也要有空格(兩者是對應的)
法二:
public static void main(String[] args){
long totalSeconds = System.currentTimeMillis() / 1000;
//獲取unix時間戳至今的秒數
long currentSeconds = totalSeconds % 60; //獲取當前秒數
long currentMinutes = totalSeconds / 60 % 60; //獲取當前分鍾數
long currentHours = totalSeconds / 3600 % 24 + 8;
//獲取當前小時數 北京屬於東八時區,時間要在格林尼治時間(GMT)基礎上+8
System.out.println(currentHours);
System.out.println(currentMinutes);
System.out.println(currentSeconds);
}
運行結果:
#注:慎用 System.currentTimeMillis() 。同樣的代碼循環執行數次,分析每一次的執行時間,發現一大部分執行時間為小於1毫秒,但其間也發現有相當一部分的執行時間有非常大的跳躍,而且時間都近似16毫秒左右。這個1毫秒和16毫秒結果,以計算機的運行速度看,差距是驚人的。因為這個方法調用了個 native方法,獲取的時間精度會依賴於操作系統的實現機制
正則表達式(regular expression)——了解
一、概念
是一種字符串匹配的模式
二、作用
- 檢查一個字符串是否含有某種子串
- 替換匹配的子串
- 提取某個字符串中匹配的子串
- 某些界面看到的讓輸入用戶名密碼注冊登錄的界面內部語法就用到了正則表達式
三、常用正則表達式
正則表達式——腳本之家(現用現查叭,記不住,害)