Java:
การแปลงวันที่เป็นสตริง
วิธีการ:
Java ทำให้การแปลงวันที่เป็นสตริงง่าย อย่างตรงไปตรงมา คลาส java.time.format.DateTimeFormatter คือทางเลือกของคุณ นี่คือตัวอย่างโค้ด:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateToStringExample {
public static void main(String[] args) {
LocalDate date = LocalDate.now(); // วันที่ของวันนี้
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
String dateString = date.format(formatter);
System.out.println(dateString); // ผลลัพธ์อาจเป็น: 20/03/2023, เป็นต้น
}
}ลงลึก
ในอดีต, Java ใช้ SimpleDateFormat จากแพ็คเกจ java.text, แต่มันไม่เป็น thread-safe และนำไปสู่ข้อผิดพลาด ด้วย Java 8, แพ็คเกจ java.time ได้นำเสนอคลาสวันที่เวลาที่เป็น thread-safe และ immutable DateTimeFormatter เป็นส่วนหนึ่งของแพ็คเกจสมัยใหม่นี้
มีทางเลือกอื่นเช่น FastDateFormat จาก Apache Commons และ DateUtils จากห้องสมุดต่างๆ อย่างไรก็ตาม, ตัวนักพัฒนา Java ส่วนใหญ่ยังคงใช้ไลบรารีมาตรฐานซึ่งเป็นที่มั่นคงและหลากหลาย
เมื่อทำการจัดรูปแบบ, DateTimeFormatter ใช้รูปแบบ yyyy สำหรับปี, MM สำหรับเดือน, และ dd สำหรับวัน มันสามารถจัดการกับรูปแบบที่ซับซ้อนได้, แม้กระทั่งรูปแบบที่เฉพาะเจาะจงตามสถานที่, ด้วยวิธีการ ofPattern ที่น่าสังเกตยังคือ DateTimeFormatter เป็น immutable และ thread-safe, ฉะนั้นคุณสามารถใช้การอินสแตนซ์ของฟอร์แมตเตอร์เดียวกันได้ในหลายๆ เธรดโดยไม่ต้องมีปัญหาในเรื่องการประสาน
ดูเพิ่มเติม
- เอกสารออฟฟิเชียล Java ของ Oracle สำหรับ
DateTimeFormatter: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html - สำหรับรูปแบบวันที่และเวลาเพิ่มเติม: https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html#patterns
- ภาพรวมวันที่และเวลาของ Java 8: https://www.oracle.com/technical-resources/articles/java/jf14-date-time.html