วิธีการแปลงสตริงเป็นวัตถุ DateTime ใน Java

Withi Kar Paelng String Pen Watthu Datetime Ni Java



ขณะเขียนโปรแกรมใน Java บางครั้ง คุณอาจต้องดำเนินการแปลงอ็อบเจ็กต์สตริงเป็นวันที่ แม้ว่าจะไม่มีเมธอดที่กำหนดไว้ล่วงหน้าใน Java สำหรับวัตถุประสงค์ที่ระบุ แต่ก็ยังสามารถใช้หลายวิธีในการแปลงสตริงเป็นอ็อบเจ็กต์ DateTime

บล็อกนี้จะอธิบายขั้นตอนสำหรับการแปลงสตริงเป็นวัตถุ DateTime ใน Java

วิธีการแปลงสตริงเป็นวัตถุ DateTime ใน Java?

สำหรับการแปลงสตริงเป็นวัตถุ DateTime ใน Java คุณสามารถใช้:







  • SimpleDateFormat class
  • คลาส LocalDate
  • คลาส ZonedDateTime

มาดูกันว่าคลาสดังกล่าวช่วยในการแปลงสตริงเป็นออบเจกต์ DateTime ได้อย่างไร



วิธีที่ 1: แปลงสตริงเป็นวัตถุ DateTime โดยใช้ SimpleDateFormat Class

สำหรับการแปลงสตริงเป็นวัตถุ DateTime คุณสามารถใช้ Java “ SimpleDateFormat ' ระดับ. เมื่อใช้คลาสนี้ สตริงสามารถแยกวิเคราะห์เป็นออบเจ็กต์ DateTime ที่ต้องการโดยใช้เมธอด “parse()”



ไวยากรณ์
นี่คือไวยากรณ์ของวิธี parse() ของคลาส SimpleDateFormat:





เอสเอฟ แยกวิเคราะห์ ( 'สตริงวันที่และเวลา' ) ;

sf ” เป็นวัตถุของคลาส SimpleDateFormat ที่เรียกใช้ “ แยกวิเคราะห์ () ” โดยส่งสตริงในรูปแบบ DateTime

ตัวอย่าง
ขั้นแรก เราจะสร้างอินสแตนซ์ของคลาส SimpleDateFormat และส่งรูปแบบวันที่และเวลาเป็นพารามิเตอร์:



SimpleDateFormat sf = ใหม่ SimpleDateFormat ( 'dd-MM-yyyy;HH:mm:ss' ) ;

ใช้บล็อก try-catch ซึ่งก่อนอื่นคุณต้องสร้างวัตถุของ ' วันที่ ” ชั้นชื่อ “ วันเวลา ” วัตถุนี้จะเก็บวันที่แยกวิเคราะห์เป็นสตริงโดยใช้วิธี parse() จากนั้นพิมพ์วัตถุ DateTime ที่แปลงด้วย ' System.out.println() ' กระบวนการ:

ลอง {
วันที่ วันเวลา = เอสเอฟ แยกวิเคราะห์ ( '08-19-2022; 01:34:23' ) ;
ระบบ. ออก . println ( วันเวลา ) ;
} จับ ( ParseException e ) {
และ. printStackTrace ( ) ;
}

ผลลัพธ์ที่ระบุระบุว่าสตริงถูกแปลงเป็นวัตถุ DateTime สำเร็จ:

ตอนนี้เรามาดูกันว่าคลาส LocalDate ทำงานอย่างไรในการแปลงสตริงเป็นวัตถุ DateTime

วิธีที่ 2: แปลงสตริงเป็นวัตถุ DateTime โดยใช้ LocalDate Class

คลาส DateTime ยอดนิยมอีกคลาสใน Java คือ “ LocalDateTime ” รูปแบบของวัตถุประกอบด้วย “ ตู่ ” ซึ่งหมายถึง “ เวลา ” และทำหน้าที่เป็นจุดแยกระหว่างวันและเวลา

ไวยากรณ์
ไวยากรณ์ที่ระบุด้านล่างสามารถปฏิบัติตามเพื่อใช้เมธอด parse() ของคลาส LocalDate:

LocalDateTime. แยกวิเคราะห์ ( 'สตริงวันที่และเวลา' ) ;

ที่นี่คลาส LocalDate เรียก ' แยกวิเคราะห์ () ” โดยส่ง DateTime String เพื่อแปลงเป็น DateTime Object

ตัวอย่าง
ก่อนอื่นเราจะสร้างวัตถุของคลาส LocalDateTime ชื่อ “ วันเวลา ” และแยกวิเคราะห์อาร์กิวเมนต์ String ที่ระบุด้วยความช่วยเหลือของ “ แยกวิเคราะห์ () ' กระบวนการ:

LocalDateTime dateTime = LocalDateTime. แยกวิเคราะห์ ( '2022-08-19T02:30:45' ) ;

สุดท้ายพิมพ์ผลลัพธ์ “ วันเวลา ” วัตถุบนคอนโซล:

ระบบ. ออก . println ( วันเวลา ) ;

เอาท์พุต

วิธีที่ 3: แปลงสตริงเป็นวัตถุ DateTime โดยใช้ ZonedDateTime Class

บางครั้ง เราต้องการข้อมูลเขตเวลาด้วย DateTime เพื่อจุดประสงค์นี้ Java รองรับคลาสที่เรียกว่า “ โซนวันที่เวลา ” ที่ดึงเขตเวลาปัจจุบันขณะทำงานกับวันที่และเวลา ชั้นนี้ยังใช้ “ แยกวิเคราะห์ () ” ด้วยคลาส ZonedDateTime เพื่อแยกวิเคราะห์สตริงและแปลงเป็นวัตถุ DateTime

ไวยากรณ์
ในการใช้คลาส ZonedDateTime ให้ทำตามไวยากรณ์ที่กำหนด:

โซนวันที่เวลา แยกวิเคราะห์ ( 'สตริงวันที่และเวลา' ) ;

ที่นี่คลาส ZonedDateTime เรียกใช้ ' แยกวิเคราะห์ () ” โดยส่ง String เพื่อแปลงเป็น DateTime Object

ตัวอย่าง
ขั้นแรก เราจะสร้างวัตถุของคลาส ZonedDateTime ชื่อ “ โซน ” และเรียก “ แยกวิเคราะห์ () ” โดยส่ง DateTime String เป็นอาร์กิวเมนต์ สตริงที่ระบุแสดงถึงวันที่และเวลาของ “ อเมริกา ' เขตเวลา:

โซนวันที่โซนเวลา = โซนวันที่เวลา แยกวิเคราะห์
( '2022-08-19T02:56:45.513464300-05:00[อเมริกา/ชิคาโก]' ) ;

พิมพ์วัตถุ DateTime ที่แปลงแล้ว:

ระบบ. ออก . println ( โซน ) ;

อย่างที่คุณเห็น วัตถุ DateTime ที่แปลงแล้วจะแสดงพร้อมกับข้อมูลเขตเวลา:

เรารวบรวมข้อมูลที่จำเป็นทั้งหมดสำหรับการแปลงสตริงเป็นวัตถุ DateTime ใน Java

บทสรุป

สำหรับการแปลงสตริงเป็นวัตถุ DateTime มีการใช้ Java หลายวิธี เช่น คลาส SimpleDateFormat คลาส LocalDate และคลาส ZonedDateTime คลาสเหล่านี้เป็นส่วนหนึ่งของแพ็คเกจ Java.time และ Java.util สำหรับการแปลงสตริงโดยใช้คลาสเหล่านี้ ให้ดำเนินการ “ แยกวิเคราะห์ () ” โดยส่ง String เป็นอาร์กิวเมนต์ บล็อกนี้อธิบายขั้นตอนการแปลงสตริงเป็นวัตถุ DateTime ใน Java พร้อมตัวอย่างที่เหมาะสม