วิธีการแปลง String เป็นวันที่ใน Java?



บทความนี้จะแนะนำคุณเกี่ยวกับวิธีที่คุณสามารถแปลง String เป็น Date ใน Java และยังมีการสาธิตเชิงปฏิบัติอย่างละเอียดอีกด้วย

บทความนี้จะแนะนำวิธีที่คุณสามารถแปลง String เป็น Date in และยังมีการสาธิตเชิงปฏิบัติอย่างละเอียดอีกด้วย คำแนะนำต่อไปนี้จะกล่าวถึงในบทความนี้

มาเริ่มกันเลย





วิธีการแปลง String เป็น Date ใน Java?

เราจะเรียนรู้ที่นี่“ วิธีการแปลงวัตถุสตริงเป็นวัตถุวันที่” โดยใช้การเปลี่ยนแปลงโค้ดและเทคนิคง่ายๆ วิธีที่ดีที่สุดในการแปลงไฟล์คือ
สตริงถึงวันที่



SimpleDateFormat.parse (สตริง)

วันที่เป็นสตริง

SimpleDateFormat.format (วันที่)


การแยกวิเคราะห์ทำงานได้หลายวิธี:

ไปต่อกับบทความนี้เกี่ยวกับการแปลงสตริงเป็นวันที่ใน Java



การกำหนดวันที่เป็นข้อความ

หากคุณต้องการให้เดือนเป็นข้อความเป็นตัวอักษรสามตัวเราจำเป็นต้องกำหนด 3 'M' ซึ่งถือเป็นค่าเดือน จากนั้นค่าของเดือนจะถูกตีความเป็นข้อความเช่น ต.ค. , ธ.ค. , มิ.ย. เป็นต้น

ลำดับ fibonacci c ++

เพื่อให้ได้ผลลัพธ์: 12 ธ.ค. 2541

นี่คือรหัสสำหรับแสดงค่า String ในรูปแบบ Date

แพคเกจ com.test.test นำเข้า java.text.ParseException import java.text.SimpleDateFormat import java.util.Date คลาสสาธารณะ TestDateExample1 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd-MMM- yyyy ') String dateInString = '12 -Dec-1998' ลอง {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} จับ (ParseException e ) {e.printStackTrace ()}}}

เอาท์พุต:
ศ. 12 ธ.ค. 00:00:00 น. MYT 1998
12 ธ.ค. 2541

ไปต่อกับบทความนี้เกี่ยวกับการแปลงสตริงเป็นวันที่ใน Java

เพื่อรับวันที่ที่จัดรูปแบบในรูปแบบ“ 12/12/1988”

แพคเกจ com.test.date import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date คลาสสาธารณะ TestDateExample2 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd / MM / yyyy ') String dateInString = '12 / 12/1988' ลอง {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Java 8 ใช้ Date-Time API ที่จัดเตรียมเมธอด parse () เพื่อแปลงค่า String เป็นค่า Date-Time สำหรับกฎการแยกวิเคราะห์ขั้นพื้นฐานมีการกำหนดมาตรฐานเพื่อแสดงค่า String สำหรับวันที่และเวลาในอย่างใดอย่างหนึ่ง ISO_LOCAL_TIME หรือ ISO_LOCAL_DATE รูปแบบ. เราใส่รหัสฟอร์แมตเตอร์ในบล็อก 'try' และ 'catch' ซึ่งจะแสดงข้อยกเว้นในรันไทม์ทุกครั้งที่ไม่เป็นไปตามกฎที่กำหนด
ตัวอย่างการแยกวิเคราะห์ง่ายๆคือ:

LocalDateTime dateTime = LocalDateTime.parse ('2018-05-05T11: 50: 55')

ไปต่อกับบทความนี้เกี่ยวกับการแปลงสตริงเป็นวันที่ใน Java

เพื่อเปลี่ยนโซนเวลา

ในการทำเช่นนั้นเราต้องกำหนดวิธีการแยกวิเคราะห์โซนเวลาที่เรียกว่า“ ZonedDateTime” เพื่อเปลี่ยนค่าสตริงเป็นรูปแบบวันที่ - เวลาโดยตรง สิ่งที่คุณต้องทำคือกำหนดเขตเวลาที่คุณต้องการวันที่ - เวลา ตัวอย่างเช่นที่นี่เราต้องการวันที่และเวลาในโซนยุโรป ดังนั้นเราจึงกำหนด tiemzone เป็น Europe / Paris โดยใช้เมธอด 'ZonedDateTime' ::

ZonedDateTime zonedDateTime = ZonedDateTime.parse ('2015-05-05T10: 15: 30 + 01: 00 [ยุโรป / ปารีส]')

ตอนนี้เรามาดูวิธีง่ายๆ วันเวลา API ซึ่งแปลงค่า String เป็นค่า Date โดยใช้ SimpleDateFormat:

  1. Java เปิดตัวไฟล์ วันเวลา การเรียก API ด้วยเวอร์ชัน 8 เพื่อแสดงพารามิเตอร์วันเวลาที่เรียกว่า“ java.time” การเรียกแบบเก่าในเวอร์ชันก่อนหน้าทั้งหมดเพื่อแสดงวันที่คือ java.util.date

มาดูวิธีการแปลง String เป็นประเภทข้อมูลวันที่และเวลาท้องถิ่น:

แยกวิเคราะห์การเรียก API:

ถ้าค่า String ที่เราต้องการแปลงเป็น วันเวลา type เป็นรูปแบบ ISO-801 จากนั้นเราสามารถเรียกคลาส DateFormat และ SimpleDateFormat โดยใช้เมธอด parse ()

ตัวอย่างเช่นเดียวกัน:

import java.text.SimpleDateFormat import java.util.Date คลาสสาธารณะ StringToDateExample1 {public static void main (String [] args) พ่นข้อยกเว้น {String sDate1 = '31 / 12/1998 'Date date1 = new SimpleDateFormat (' dd / MM / yyyy '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

เอาท์พุต:
31 ธ.ค. 2541 พฤ. 31 ธ.ค. 00:00:00 น. IS 1998

import java.text.SimpleDateFormat import java.util.Date คลาสสาธารณะ StringToDateExample2 {public static void main (String [] args) พ่น Exception {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'String sDate4 =' พุธ, 12 ตุลาคม 1988 'String sDate5 =' พุธ, 12 ตุลาคม 1988 23:37:50 'String sDate6 = '31 -Dec-1998 23:37:50' SimpleDateFormat formatter1 = SimpleDateFormat ใหม่ ('dd / MM / yyyy') รูปแบบ SimpleDateFormat2 = SimpleDateFormat ใหม่ ('dd-MMM-yyyy') รูปแบบ SimpleDateFormat 3 = SimpleDateFormat ใหม่ ('MM dd, yyyy') รูปแบบ SimpleDateFormat ใหม่ Mormat ('dd-MMM-yyyy') รูปแบบ SimpleDateFormat3 = SimpleDateFormat ใหม่ ('MM dd, yyyy') yyyy ') รูปแบบ SimpleDateFormat5 = SimpleDateFormat ใหม่ (' E, MMM dd yyyy HH: mm: ss ') รูปแบบ SimpleDateFormat6 = SimpleDateFormat ใหม่ (' dd-MMM-yyyy HH: mm: ss ') วันที่ date1 = formatter1.parse (sDate1) วันที่ date2 = formatter2.parse (sDate2) วันที่ date3 = formatter3.parse (sDate3) วันที่ date4 = formatter4.parse (sDate4) วันที่ date5 = formatter5.parse (sDate5) วันที่ date6 = formatter6.parse (sDate6) System.out.println (sDat e1 + 't' + date1) System.out.println (sDate2 + 't' + date2) System.out.println (sDate3 + 't' + date3) System.out.println (sDate4 + 't' + date4) System.out println (sDate5 + 't' + date5) System.out.println (sDate6 + 't' + date6)}}

ด้วยการใช้โค้ดด้านบนคุณจะได้ผลลัพธ์ในรูปแบบที่กล่าวถึงทั้งหมด ดังนั้นเราจึงกำหนดรูปแบบวันที่ต่างๆในค่า String แล้วแยกวิเคราะห์โดยกำหนดคลาส SimpleDateFormat เมื่อเสร็จแล้วผลลัพธ์จะสร้างขึ้นในรูปแบบวันเวลาที่กล่าวถึงทั้งหมด

31 ธ.ค. 2541 พฤ. 31 ธ.ค. 00:00:00 น. IS 1998

31 ธ.ค. 2541 พฤ. 31 ธ.ค. 00:00:00 น. IS 1998

12 31 ธันวาคม 1998 พฤ. 31 ธ.ค. 00:00:00 น. IS 1998

พฤ. 31 ธ.ค. 2541 พฤ. 31 ธ.ค. 00:00:00 น. IS 1998

พฤ. 31 ธ.ค. 2541 23:37:50 น พฤ 31 ธ.ค. 23:37:50 น. IS 1998

31 ธ.ค. 2541 23:37:50 น พฤ 31 ธ.ค. 23:37:50 น. IS 1998

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบวันที่โปรดอ่านเอกสาร javadoc . รูปแบบ String to Date ที่ถูกต้องบางส่วนถูกกล่าวถึงที่นี่:
y = ปี (yy หรือ yyyy)

M = เดือน (MM)

ตาราง html ภายในตาราง

d = วันในเดือน (dd)

h = ชั่วโมง (0-12) (hh)

H = ชั่วโมง (0-23) (HH)

m = นาทีในชั่วโมง (มม.)

s = วินาที (ss)

S = มิลลิวินาที (SSS)

z = ข้อความโซนเวลา (เช่นเวลามาตรฐานแปซิฟิก…)

Z = เขตเวลาชดเชยเวลา (เช่น -0800)

บันทึก: การกำหนด 'Java.util.date' เป็น Date date = new date () เลิกใช้แล้ว ดังนั้นให้ใช้เสมอ SimpleDateFormat ด้วยสตริงอินพุตที่ตรงกันที่คุณต้องการแปลง

ดังนั้นเราจึงมาถึงตอนท้ายของบทความนี้เกี่ยวกับ 'How To Convert String To Date In Java?' หากคุณต้องการเรียนรู้เพิ่มเติมตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

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