เราอาจต้องการแสดงเวลาตามนิสัยบางอย่าง เช่น ลำดับเวลา: ปี เดือน วันอาทิตย์หรือปี เดือน วันอาทิตย์ ชั่วโมง นาที และวินาที
ในยุคแรกๆ ของ Java นั้น SimpleDateFormat ซึ่งเป็นคลาสย่อยของ DateFormat ในแพ็คเกจ java.text ถูกใช้เพื่อจัดรูปแบบวันที่ เวอร์ชัน JDK 1.5 มี คลาส Formatter ที่สะดวกกว่า วิธีการจัดรูปแบบของคลาส Formatter มีดังนี้:
รูปแบบ (โหมดรูปแบบ รายการวันที่)
ตาม "โหมดรูปแบบ" ให้ส่งคืนการแสดงสตริงของข้อมูล (ปี เดือน วัน ชั่วโมง ฯลฯ) ที่มีอยู่ในแต่ละวันที่แสดงอยู่ใน "รายการวันที่"
ปัจจุบัน Java ได้สร้างวิธีการจัดรูปแบบเป็นวิธีการคงที่ของคลาส String ดังนั้นโปรแกรมจึงสามารถใช้คลาส String ได้โดยตรงเพื่อเรียกวิธีการจัดรูปแบบเพื่อจัดรูปแบบวันที่
"โหมดรูปแบบ" ในวิธีการจัดรูปแบบคือ ลำดับอักขระ ที่อยู่ในเครื่องหมายคำพูดคู่ นั่นคือ สตริง อักขระในลำดับอักขระนี้ประกอบด้วยอักขระรูปแบบเวลาและอักขระธรรมดา
ตัวอย่างเช่น: %ty, %tm และ %td ในวันที่: %ty-%tm-%td เป็นอักขระรูปแบบเวลาทั้งหมด อักขระจีนสองตัวแรก ("วัน" และ "จุด") เครื่องหมายโคลอนและอักขระรูปแบบจะอยู่ระหว่าง The อักขระที่เชื่อมต่อ "-" ล้วนเป็นอักขระธรรมดา ในแง่คนธรรมดา สิ่งใดก็ตามที่ไม่ใช่อักขระรูปแบบเวลาถือเป็นอักขระธรรมดา
ตัวอย่างเช่น: อักขระรูปแบบ %ty, %tm และ %td จะแสดง "ปี", "เดือน" และ "วัน" ตามลำดับในวันที่
สตริงที่ส่งคืนโดยวิธีการจัดรูปแบบคือสตริงหลังจากอักขระรูปแบบเวลาใน "โหมดการจัดรูปแบบ" ถูกแทนที่ด้วยผลลัพธ์ที่จัดรูปแบบที่ได้รับ เช่น:
Strings=String.format(%tY ปี %tm เดือน %td วัน, newDate(), newDate(), newDate());
"รายการวันที่" ในวิธีการจัดรูปแบบอาจเป็น วัตถุปฏิทิน ที่คั่นด้วยเครื่องหมายจุลภาคหรือ วัตถุวันที่
เราจำเป็นต้องตรวจสอบให้แน่ใจว่าจำนวนอักขระรูปแบบใน "โหมดรูปแบบ" ของวิธีการจัดรูปแบบจะเหมือนกับจำนวนวันที่ที่ระบุไว้ใน "รายการวันที่"
ตามค่าเริ่มต้น วิธีการจัดรูปแบบจะใช้อักขระจัดรูปแบบใน "โหมดการจัดรูปแบบ" ตามลำดับจากซ้ายไปขวาเพื่อจัดรูปแบบวันที่ที่เกี่ยวข้องใน "รายการวันที่" ในขณะที่อักขระธรรมดาใน "โหมดการจัดรูปแบบ" ยังคงไม่เปลี่ยนแปลง
หากเราต้องการใช้สัญลักษณ์รูปแบบต่างๆ เพื่อจัดรูปแบบวันที่เดียวกันใน "Date List" เราก็สามารถใช้ "<" ใน "Format Mode" ได้ เช่น สัญลักษณ์รูปแบบ 3 รูปแบบใน %ty-%<tm-%< td จะจัดรูปแบบวันที่เดียวกัน นั่นคือ อักขระรูปแบบที่มี "<" จะจัดรูปแบบวันที่เดียวกันกับอักขระรูปแบบก่อนหน้า ตัวอย่างเช่น:
Strings=String.format(%tyyear%<tmmonth%<tdday,newDate());
อักขระรูปแบบวันที่ที่ใช้กันทั่วไป: