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