1. สตริงและวันที่ (java.util.date) จะถูกถ่ายโอนไปยังกันและกัน
1.1 สตริง -> วันที่
String datestr = "// ::"; วันที่วันที่ = วันที่ใหม่ (); // โปรดทราบว่ารูปแบบของรูปแบบควรตรงกับรูปแบบของวันที่สตริงวันที่ DateFormat SDF = ใหม่ SimpleDateFormat ("yyyy/mm/dd HH: mm: ss"); ลอง {date = sdf.parse (datestr); System.out.println (date.toString ()); } catch (exception e) {e.printstacktrace (); } string datestr = "2010/05/04 12:34:23"; วันที่วันที่ = วันที่ใหม่ (); // โปรดทราบว่ารูปแบบของรูปแบบควรตรงกับรูปแบบของวันที่สตริงวันที่ DateFormat SDF = ใหม่ SimpleDateFormat ("yyyy/mm/dd HH: mm: ss"); ลอง {date = sdf.parse (datestr); System.out.println (date.toString ()); } catch (exception e) {e.printstacktrace (); - 1.2 วันที่ -> สตริง
แปลงวันที่เป็นสตริงคุณสามารถตั้งค่ารูปแบบการแปลงใด ๆ
String datestr = ""; วันที่วันที่ = วันที่ใหม่ (); // รูปแบบของรูปแบบสามารถเป็นวันที่ตามอำเภอใจ sdf = ใหม่ simpledateFormat ("yyyy/mm/dd HH: mm: ss"); DateFormat SDF = ใหม่ SimpleDateFormat ("YYYY-MM-DD HH/MM/SS"); ลอง {datestr = sdf.format (วันที่); System.out.println (Datestr); datestr = sdf.format (วันที่); System.out.println (Datestr); } catch (exception e) {e.printstacktrace (); } string datestr = ""; วันที่วันที่ = วันที่ใหม่ (); // รูปแบบของรูปแบบสามารถเป็นวันที่ตามอำเภอใจ sdf = ใหม่ simpledateFormat ("yyyy/mm/dd HH: mm: ss"); DateFormat SDF2 = ใหม่ SimpleDateFormat ("YYYY-MM-DD HH/MM/SS"); ลอง {datestr = sdf.format (วันที่); System.out.println (Datestr); datestr = sdf2.format (วันที่); System.out.println (Datestr); } catch (exception e) {e.printstacktrace (); - 2. การถ่ายโอนสตริงและการประทับเวลาเข้าด้วยกัน
2.1 สตริง -> การประทับเวลา
ใช้วิธีการของ Timestamp ()
timestamp ts = timestamp ใหม่ (System.currentTimeMillis ()); String tsstr = "- ::"; ลอง {ts = timestamp.valueof (tsstr); System.out.println (TS); } catch (exception e) {e.printstacktrace (); } timestamp ts = timestamp ใหม่ (System.currentTimeMillis ()); String tsstr = "2011-05-09 11:49:45"; ลอง {ts = timestamp.valueof (tsstr); System.out.println (TS); } catch (exception e) {e.printstacktrace (); -หมายเหตุ: ประเภทของสตริงจะต้องอยู่ในรูปแบบของ: yyyy-mm-dd hh: mm: ss [.f ... ] โดยมีวงเล็บระบุตัวเลือกไม่เช่นนั้นจะมีการรายงานข้อผิดพลาด! - -
หากสตริงอยู่ในรูปแบบอื่นคุณสามารถพิจารณาแยกสตริงใหม่และจัดระเบียบใหม่ ~~
2.2 การประทับเวลา -> สตริง
ใช้วิธีการ TOSTRING () ของ Timestamp หรือยืม DateFormat
timestamp ts = timestamp ใหม่ (System.currentTimeMillis ()); String tsstr = ""; DateFormat SDF = New SimpledateFormat ("yyyy/mm/dd Hh: mm: ss"); ลอง {// วิธีการ 1 tsstr = sdf.format (ts); System.out.println (TSSTR); // วิธีการ 2 tsstr = ts.toString (); System.out.println (TSSTR); } catch (exception e) {e.printstacktrace (); } timestamp ts = timestamp ใหม่ (System.currentTimeMillis ()); String tsstr = ""; DateFormat SDF = New SimpledateFormat ("yyyy/mm/dd Hh: mm: ss"); ลอง {// วิธีการ 1 tsstr = sdf.format (ts); System.out.println (TSSTR); // วิธีการ 2 tsstr = ts.toString (); System.out.println (TSSTR); } catch (exception e) {e.printstacktrace (); - เป็นเรื่องง่ายที่จะเห็นว่าข้อดีของวิธีการที่ 1 คือมันสามารถตั้งค่ารูปแบบของสตริงได้อย่างยืดหยุ่น
3. วันที่ (java.util.date) และการประทับเวลาจะถูกถ่ายโอนร่วมกัน
คำแถลง: ดู API เราจะเห็นวันที่และ timesta เป็นความสัมพันธ์ระหว่างพ่อแม่และลูก
3.1 การประทับเวลา -> วันที่
timestamp ts = timestamp ใหม่ (System.currentTimeMillis ()); วันที่วันที่ = วันที่ใหม่ (); ลอง {date = ts; System.out.println (วันที่); } catch (exception e) {e.printstacktrace (); } timestamp ts = timestamp ใหม่ (System.currentTimeMillis ()); วันที่วันที่ = วันที่ใหม่ (); ลอง {date = ts; System.out.println (วันที่); } catch (exception e) {e.printstacktrace (); - มันง่ายมาก แต่ในขณะนี้เอนทิตีที่ชี้ไปที่วัตถุวันที่เป็นการประทับเวลานั่นคือวันที่มีวิธีการของคลาสวันที่ แต่เอนทิตีการดำเนินการของวิธีที่เขียนทับอยู่ในการประทับเวลา
3.2 วันที่ -> การประทับเวลา
คลาสแม่ไม่สามารถแปลงเป็นคลาสเด็กได้โดยตรงคุณสามารถใช้สตริงกลาง ~~~~
java.sql.date จัดเก็บข้อมูลวันที่เท่านั้น แต่ไม่ใช่ข้อมูลเวลา // ข้อมูลเวลาจะสูญเสียการเตรียมการตั้งค่า (1, java.sql.date ใหม่ (date.getTime ())); // precedStatement.settimestamp (1, Java.sql.timestamp // หากคุณต้องการรับข้อมูลที่สมบูรณ์รวมถึงวันที่และเวลาคุณสามารถ java.util.date d = resultet.getTimestamp (1); // สิ่งนี้เหมาะสมกว่าเพื่อหลีกเลี่ยงปัญหาการประทับเวลาที่อาจเกิดขึ้น java.util.date d = java.util.date ใหม่
ถ้าคุณทำด้วยตัวเองนี่เป็นกรณี:
เมื่อจัดเก็บฐานข้อมูลคุณสามารถรับประเภท java.util.date และใช้วิธี getTime () เพื่อให้ได้ค่าที่ยาวแทนวัตถุวันที่แล้วใช้ค่ายาวนี้เพื่อสร้างวัตถุ timestamp เพื่อจัดเก็บไว้ในฐานข้อมูล
เมื่อดึงข้อมูลจากฐานข้อมูลการจัดเก็บคุณจะได้รับการประทับเวลาก่อนและใช้วิธี getTime () เพื่อรับค่าที่ยาวจากนั้นใช้ค่ายาวนี้เพื่อสร้างวัตถุ java.util.date เพื่อให้คุณสามารถใช้งานในวัตถุวันที่นี้ เป็นการดีกว่าที่จะบอกว่าใหม่ SimpleTimeFormat ("yyyyy-mm-dd hh: mm: ss") รูปแบบ () ฯลฯ