Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะสร้างวัตถุ Date จากค่า String ใน Java ได้อย่างไร?


การใช้คลาส SimpleDateFormat

หนึ่งในตัวสร้างของคลาสนี้ยอมรับค่า String ที่แสดงรูปแบบวันที่ที่ต้องการและสร้าง SimpleDateFormat คลาส. การแยกวิเคราะห์/แปลงสตริงเป็นวัตถุวันที่ -

  • สร้างตัวอย่างคลาสนี้โดยส่งสตริงรูปแบบที่ต้องการ
  • แยกวิเคราะห์สตริงวันที่โดยใช้เมธอด parse()

ตัวอย่าง

นำเข้า java.text.ParseException; นำเข้า java.text.SimpleDateFormat; นำเข้า java.util.Date; ตัวอย่างคลาสสาธารณะ { โมฆะสาธารณะสาธารณะหลัก (สตริง args []) พ่น ParseException { สตริง date_string ="2007-25-06 "; //การสร้างตัวอย่างคลาส SimpleDateFormat ตัวจัดรูปแบบ SimpleDateFormat =new SimpleDateFormat("yyyy-dd-MM"); // การแยกวิเคราะห์วัตถุสตริงให้เป็นวันที่ Date date =formatter.parse(date_string); System.out.println("ค่าวันที่:"+วันที่); }}

ผลลัพธ์

ค่าวันที่:จันทร์ 25 มิ.ย. 00:00:00 IST 2007

การใช้คลาส LocalDate

วิธี parse() ของคลาส LocalDate ยอมรับค่า String ที่แสดงวันที่และส่งกลับวัตถุ LocalDate

ตัวอย่าง

<ก่อน>นำเข้า java.time.LocalDate; การทดสอบคลาสสาธารณะ { โมฆะสาธารณะหลัก (สตริง args []) { วันที่ LocalDate =LocalDate.parse ("2007-12-03"); System.out.println (วันที่); }}

ผลลัพธ์

 

2007-12-03

การใช้คลาส DateUtils:

DateUtils จัดเตรียมยูทิลิตี้เพื่อจัดรูปแบบวันที่ที่คุณสามารถหาได้ในแพ็คเกจ apache.commons ต่อไปนี้เป็นการพึ่งพา maven สำหรับแพ็คเกจ -

 org.apache.commons commons-lang3 3.7

parseDate() เมธอดของคลาส DateUtils ยอมรับสตริงรูปแบบและสตริงวันที่เป็นพารามิเตอร์และส่งคืนออบเจ็กต์ Date

ตัวอย่าง

นำเข้า java.util.Date;import org.apache.commons.lang3.time.DateUtils;การทดสอบคลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args []) { สตริง dateInString ="07-06-2013"; วันที่ วันที่ =DateUtils.parseDate (dateInString, "yyyy-MM-dd"); System.out.println (วันที่); }}

ผลลัพธ์

 

ส. 03 ธ.ค. 00:00:00 น. 12

การใช้คลาสทันใจ

วิธี parse() ของคลาส java.time.Instant ยอมรับสตริงวันที่เป็นพารามิเตอร์และส่งคืนอ็อบเจ็กต์ (ทันที) ที่แสดงวันที่ที่กำหนด

ตัวอย่าง

<ก่อน> นำเข้า java.time.Instant; การทดสอบคลาสสาธารณะ { โมฆะคงที่สาธารณะหลัก (สตริง args []) { สตริง dateInString ="2014-10-05T15:23:01Z"; ทันทีทันใด =Instant.parse (dateInString); System.out.println (ทันที); }}

ผลลัพธ์

 

2014-10-05T15:23:01Z