1. คำจำกัดความของการประทับเวลา
Timestamp หมายถึงการสร้างการดัดแปลงและเวลาการเข้าถึงในแอตทริบิวต์ไฟล์
เทคโนโลยี Digital Timestamp เป็นแอพพลิเคชั่นของเทคโนโลยีลายเซ็นดิจิตอล ในเอกสารการทำธุรกรรมอีคอมเมิร์ซเวลาเป็นข้อมูลที่สำคัญมาก ในสัญญาที่เป็นลายลักษณ์อักษรวันที่ของการลงนามในเอกสารมีความสำคัญเท่ากับลายเซ็นของเอกสารเพื่อป้องกันไม่ให้เอกสารถูกปลอมแปลงและดัดแปลงด้วย บริการ Stamp Time Digital (DTS: Digital Time Stamp Service) เป็นหนึ่งในโครงการบริการรักษาความปลอดภัยอีคอมเมิร์ซออนไลน์ซึ่งสามารถให้การป้องกันความปลอดภัยสำหรับข้อมูลวันที่และเวลาของไฟล์อิเล็กทรอนิกส์
การประทับเวลาเป็นเอกสารรับรองที่เข้ารหัสซึ่งประกอบด้วยสามส่วน:
โดยทั่วไปแล้วกระบวนการสร้างการประทับเวลาคือ: ผู้ใช้เข้ารหัสไฟล์ที่ต้องใช้เวลานานที่สุดในการย่อยด้วยการเข้ารหัสแฮชแล้วส่ง Digest ไปยัง DTS หลังจากเพิ่มข้อมูลวันที่และเวลาของไฟล์ DIGEST ที่ได้รับ DTS จะเข้ารหัสไฟล์ (ลายเซ็นดิจิตอล) จากนั้นส่งกลับไปยังผู้ใช้
เวลาในการลงนามในเอกสารเป็นลายลักษณ์อักษรถูกเขียนโดยผู้ลงนามเองในขณะที่การประทับเวลาหมายเลขไม่ใช่กรณี มันถูกเพิ่มโดยหน่วยรับรอง DTS และขึ้นอยู่กับเวลาที่ DTS ได้รับเอกสาร
2. แปลงการประทับเวลาเป็นวันที่ (หรือสตริง)
// แปลงการประทับเวลาเป็น sting หรือวันที่รูปแบบ simpledateFormat = newsimpledateFormat ("yyyy-mm-dd hh: mm: ss"); นาน = newlong (445555555); String d = format.format (เวลา); วันที่วันที่ = format.parse (d); System.out.println ("รูปแบบเป็นสตริง (วันที่):"+d); System.out.println ("รูปแบบถึงวันที่:"+d); ผลการทำงาน: รูปแบบไปยังสตริง (วันที่): 1970-01-06 11: 45: 55Format จนถึงปัจจุบัน: อังคาร 06 มกราคม 11:45:55 CST 1970 3. วันที่ (หรือสตริง) จะถูกแปลงเป็นการประทับเวลา
// วันที่หรือสตริงถูกแปลงเป็น timestamp simpledateFormat format = newsimpledateFormat ("yyyy-mm-dd hh: mm: ss"); String time = "1970-01-06 11:45:55"; วันที่วันที่ = format.parse (เวลา); System.out.print ("รูปแบบเป็นเวลา:"+date.getTime ()); ผลการทำงาน:
รูปแบบเป็นเวลา: 445555000
4. ให้ความสนใจ
เมื่อกำหนด simpledateFormat, newsimpledateFormat ("yyyy-mm-dd hh: mm: ss"); ไม่สามารถมีช่องว่างที่จุดเริ่มต้นและจุดสิ้นสุดของสตริง หากมีช่องว่างพื้นที่เวลาที่สอดคล้องกันในระหว่างการแปลงจะต้องมีช่องว่าง (ทั้งสองนั้นสอดคล้องกัน) เช่น:
// วันที่หรือสตริงถูกแปลงเป็น timestamp simpledateFormat format = newsimpledateFormat ("yyyy-mm-dd hh: mm: ss"); String time = "1970-01-06 11:45:55"; วันที่วันที่ = format.parse (เวลา); System.out.print ("รูปแบบเป็นเวลา:"+date.getTime ()); ผลการรัน (ข้อผิดพลาด):
ข้อยกเว้นในเธรด "หลัก" java.text.parseException: วันที่ที่ไม่สามารถตัดได้: "1970-01-06 11:45:55"
ถูกต้อง:
// วันที่หรือสตริงถูกแปลงเป็น timestamp simpledateFormat format = newsimpledateFormat ("yyyy-mm-dd hh: mm: ss"); String Time = "1970-01-06 11:45:55"; // หมายเหตุ: หลังจากการแก้ไขแล้วจะมีการเพิ่มช่องว่างที่นี่ วันที่วันที่ = format.parse (เวลา); System.out.print ("รูปแบบเป็นเวลา:"+date.getTime ()); ผลการทำงาน: รูปแบบเป็นเวลา: 445555000000 1. getTime () ในคลาสวันที่ใน Java ได้รับการประทับเวลา การประทับเวลาที่สร้างขึ้นใน Java นั้นแม่นยำถึงระดับมิลลิวินาทีในขณะที่ UNIX นั้นแม่นยำถึงระดับที่สองดังนั้นการประทับเวลาที่สร้างขึ้นผ่าน Java จะต้องแบ่งออกเป็น 1,000
2. ต่อไปนี้เป็นรหัส Java
นำเข้า java.text.parseException; นำเข้า java.text.simpledateFormat; นำเข้า java.util.date; คลาสสาธารณะ baidu {/** * @param args */โมฆะคงที่สาธารณะหลัก (สตริง [] args) {ลอง {time string = "2011/07/29 14:50:11"; วันที่ = ใหม่ simpledateFormat ("yyyy/mm/dd hh: mm: ss"). parse (เวลา); Long Unixtimestamp = date.getTime ()/1000; System.out.println (Unixtimestamp); } catch (parseexception e) {e.printstacktrace (); -ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น