"ฉันจำได้ว่าฉันอยากจะบอกคุณเล็กน้อยเกี่ยวกับการทำงานกับวันที่"

"คุณบอกฉันแล้วว่า Java มีคลาส Date และฉันสามารถใช้คลาสนั้นเพื่อทำงานกับวันที่ได้"

"อืม คลาสดาเตะล้าสมัยไปพักหนึ่งแล้ว"

"ตอนนี้แนะนำให้ใช้คลาสปฏิทินแทนซึ่งมีเมธอด getTime() ที่ส่งคืนวันที่ปัจจุบัน"

"นี่คือวัตถุปฏิทินที่มักจะสร้าง:"

สร้างวัตถุปฏิทิน
Calendar cal = Calendar.getInstance();

"เมื่อคุณเรียกวิธีนี้ ปฏิทินที่ถูกต้องจะถูกสร้างขึ้นตามการตั้งค่าคอมพิวเตอร์ของคุณ"

"ปฏิทินที่ 'ถูกต้อง' หมายความว่ามีปฏิทินหลายอันใช่หรือไม่"

"ใช่ คงจะถูกต้องกว่าถ้าพูดว่า 'เกี่ยวข้อง' ความจริงก็คือโลกไม่ได้มีปฏิทินเดียว แต่มีปฏิทินมากมาย ปฏิทินเกือบทั้งหมดมีความเกี่ยวข้องกับศาสนาหรือบางประเทศ"

"ปีอาจแตกต่างกันไปขึ้นอยู่กับประเทศที่คุณอยู่"

"นี่คือตัวอย่างปฏิทินทั่วไป"

คลาสปฏิทิน ชื่อปฏิทิน
ปฏิทินเกรกอเรียน ปฏิทินคริสเตียนเกรกอเรียน
ปฏิทินพุทธ ปฏิทินพุทธ
ปฏิทินจักรวรรดิญี่ปุ่น ปฏิทินจักรวรรดิญี่ปุ่น

"ยังมีปฏิทินจีน ปฏิทินอิสลาม และอื่นๆ อีกมากมาย"

"ฉันเห็น."

"เพื่อให้ได้วันที่ปัจจุบัน คุณต้องเขียนโค้ดดังนี้:"

รับเวลาปัจจุบัน
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();

"คลาสปฏิทินมีหลายวิธีที่ช่วยให้คุณได้รับข้อมูลเกี่ยวกับวันที่และเวลาได้อย่างรวดเร็ว"

รหัส ความคิดเห็น
Calendar calendar = Calendar.getInstance();

int era = calendar.get(Calendar.ERA);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
พ.ศ. 
ปี เดือน วัน 
เดือน
ปี

วันในสัปดาห์ (จันทร์ อังคาร พุธ …)
ชั่วโมง
นาที
วินาที

"บางครั้งคุณจำเป็นต้องได้รับข้อมูลที่มีอยู่เพียงเล็กน้อยเท่านั้น ตัวอย่างเช่น ปีปัจจุบันหรือวันในสัปดาห์"

"แต่บางครั้งคุณก็ต้องแสดงวันที่ในรูปแบบที่ถูกต้อง"

"ตัวอย่างเช่น ในล็อกไฟล์หรือที่อื่น"

"หรือสร้างรูปแบบที่ผู้ใช้กำหนดเองได้ คุณจะทำอย่างไร"

"มีคลาสพิเศษสำหรับสิ่งนี้ด้วย คลาส SimpleDateFormatเหมาะอย่างยิ่งสำหรับงานที่คุณอธิบาย:"

วิธีแสดงวันที่ในรูปแบบที่ต้องการ
Calendar calendar = Calendar.getInstance();

DateFormat formatter = new SimpleDateFormat("MM-DD-YY");

String message = formatter.format(calendar.getTime());

"อ่า ฉันจำได้ คุณได้อธิบายเกี่ยวกับSimpleDateFormatให้ฉันฟังมาบ้างแล้ว แต่ฉันจำอะไรไม่ค่อยได้จริงๆ"

"ทุกอย่างง่ายมาก คุณสร้าง วัตถุ SimpleDateFormatและส่งรูปแบบวันที่ที่คุณต้องการรับ จากนั้นคุณเรียกใช้เมธอดรูปแบบ และจะให้วันที่ผ่านในรูปแบบที่ต้องการ"

"ฟังดูน่าสนใจ ฉันต้องการรายละเอียดเพิ่มเติม"

"เอาล่ะ รายละเอียด นี่คือตัวอักษรบางส่วนที่สามารถใช้ในรูปแบบวันที่:"

จดหมาย คำอธิบาย
แทนที่ด้วยศักราช (ค.ศ. หรือ ค.ศ.)
แทนที่ด้วยปีพ
แทนที่ด้วยเดือน
จำนวนสัปดาห์ในปี
จำนวนสัปดาห์ในเดือน
จำนวนวันในปี
วันของเดือน
วันในสัปดาห์ในเดือน
อี วันของสัปดาห์
AM/PM (ก่อนหรือหลังเที่ยง)
ชม ชั่วโมงในรูปแบบ 24 ชั่วโมง (0-23)
เค ชั่วโมงในรูปแบบ 24 ชั่วโมง (1-24)
เค ชั่วโมงในรูปแบบ 12 ชั่วโมง (0-11)
ชม. ชั่วโมงในรูปแบบ 12 ชั่วโมง (1-12)
นาที
วินาที
มิลลิวินาที
ซี เขตเวลา มีรูปแบบดังนี้ เวลามาตรฐานแปซิฟิก PST
Z เขตเวลา มีรูปแบบดังนี้: -0800/td>

"เยี่ยมมาก! นั่นคือทุกสิ่งที่คุณต้องการ"

"ยังมีความแตกต่างเล็กน้อยที่เกี่ยวข้องกับการทำซ้ำตัวอักษรเหล่านี้"

"ถ้าคุณเขียน YY คุณจะได้ตัวเลขสองหลักสุดท้ายของปี หากคุณเขียน YYYY คุณจะได้ตัวเลขทั้งสี่ตัวของปี"

"นอกจากนี้ยังมีความซับซ้อนของเดือนอีกด้วยMM คือตัวเลขของเดือน MMM เป็นตัวย่อสามตัวอักษรของเดือน ได้แก่ ม.ค. ก.พ. มี.ค. เม.ย. พ.ค. ฯลฯ MMMM ย่อมาจากชื่อเต็มของเดือน "

"คุณยังสามารถแสดงวันเต็มของสัปดาห์ (โดยใช้ EEEE) หรือแสดงเฉพาะตัวอักษรสองตัวแรก (โดยใช้ EE)"

"ขอบคุณ Rishi คลาส SimpleDateFormat นี้มีประโยชน์จริงๆ ตอนนี้ฉันรู้แล้ว"

"สนุกกับการใช้มัน! และขอให้โชคดี!"