1、時間戳的定義java
時間戳是指文件屬性裏的建立、修改、訪問時間。 git
數字時間戳技術是數字簽名技術一種變種的應用。在電子商務交易文件中,時間是十分重要的信息。在書面合同中,文件簽署的日期和簽名同樣均是十分重要的防止文件被僞造和篡改的關鍵性內容。數字時間戳服務(DTS:digital time stamp service)是網上電子商務安全服務項目之一,能提供電子文件的日期和時間信息的安全保護。安全
編輯本段組成部分編碼
時間戳(time-stamp)是一個經加密後造成的憑證文檔,它包括三個部分: 加密
(1)需加時間戳的文件的摘要(digest); spa
(2)DTS收到文件的日期和時間; orm
(3)DTS的數字簽名。 文檔
通常來講,時間戳產生的過程爲:用戶首先將須要加時間戳的文件用Hash編碼加密造成摘要,而後將該摘要發送到DTS,DTS在加入了收到文件摘要的日期和時間信息後再對該文件加密(數字簽名),而後送回用戶。 字符串
書面簽署文件的時間是由簽署人本身寫上的,而數字時間戳則否則,它是由認證單位DTS來加的,以DTS收到文件的時間爲依據。get
2、時間戳轉化爲Date(or String)
//時間戳轉化爲Sting或Date
SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
Long time=new Long(445555555);
String d = format.format(time);
Date date=format.parse(d);
System.out.println("Format To String(Date):"+d);
System.out.println("Format To Date:"+date);
運行結果:
Format To String(Date):1970-01-06 11:45:55
Format To Date:Tue Jan 06 11:45:55 CST 1970
3、Date(or String)轉化爲時間戳
//Date或者String轉化爲時間戳
SimpleDateFormat format = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
String time="1970-01-06 11:45:55";
Date date = format.parse(time);
System.out.print("Format To times:"+date.getTime());
運行結果:
Format To times:445555000
4、注意
定義SimpleDateFormat時new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );裏面字符串頭尾不能有空格,有空格那是用轉換時對應的時間空格也要有空格(二者是對應的),好比:
//Date或者String轉化爲時間戳
SimpleDateFormat format = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
String time="1970-01-06 11:45:55";
Date date = format.parse(time);
System.out.print("Format To times:"+date.getTime());
運行結果(報錯):
Exception in thread "main" java.text.ParseException: Unparseable date: "1970-01-06 11:45:55"
改正:
//Date或者String轉化爲時間戳
SimpleDateFormat format = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
String time=" 1970-01-06 11:45:55 ";//注:改正後這裏先後也加了空格
Date date = format.parse(time);
System.out.print("Format To times:"+date.getTime());
運行結果:
Format To times:445555000