สารบัญ
ชวา การคำนวณวันที่/เวลาการบวกและการลบทำได้ง่าย
ง่าย ๆ ด้วยจาวาคำนวณการบวก/ลบวันที่/เวลาแนะนำโปรแกรมตัวอย่างเพื่อทำสิ่งนี้
ลักษณะของโปรแกรมตัวอย่างมีดังนี้
- ส่งกลับผลลัพธ์ของการเพิ่มหรือลบระยะเวลาที่ระบุจากวันที่/เวลาปัจจุบันหรือตามต้องการ
- หากระบุจำนวนบวก เวลาจะเร็วขึ้น หากเป็นค่าลบ เวลาจะถอยหลัง
เช่น 10 วันที่แล้วนับจากวันที่และเวลาปัจจุบันการคำนวณหากเป็นเช่นนั้น จะมีผลดังต่อไปนี้
ปฏิทิน cal = addMonth(-10); - คุณสามารถตั้งค่าระยะเวลาเท่าใดก็ได้สำหรับฟิลด์เวลาปี เดือน วัน ชั่วโมง นาที วินาที และมิลลิวินาที
อีกทั้งสัมพันธ์กับเวลาที่กำหนดด้วยการคำนวณหากเป็นเช่นนั้น ให้ส่งคลาส Calendar เป็นอาร์กิวเมนต์
ตัวอย่างเช่น สิ่งต่อไปนี้จะทำให้อินสแตนซ์ปฏิทินที่ระบุก้าวหน้าไปหนึ่งปี
ปฏิทิน cal = เพิ่ม ("ปฏิทินที่ระบุ",1,0,0,0,0,0,0); - หากค่าของช่องเวลาแต่ละช่องเกินช่วง ช่องเวลาที่ใหญ่กว่าถัดไปจะเพิ่มขึ้นหรือลดลง
ตัวอย่างเช่น เวลาต่อไปนี้จะเลื่อนเวลาปัจจุบันไปข้างหน้า 1 ชั่วโมง 5 นาที
ปฏิทิน cal = addMinute (65);
โปรแกรมตัวอย่าง
การดำเนินการ
ในโปรแกรมตัวอย่างเป็นค่าที่ส่งคืนหลังจากการคำนวณเนื่องจากเราสามารถรับอ็อบเจ็กต์ java.util.Calendar ที่เก็บวันที่ได้ เราจึงใช้เมธอด java.util.Calendar#getTime() เพื่อแปลงเป็น java.util.Date และ java.text.SimpleDateFormat เพื่อแปลงเป็นสตริงวันที่ .
◆ตัวอย่างการดำเนินการ
โมฆะคงสาธารณะ main (String [] args) { SimpleDateFormat f = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); System.out.println ("วันที่/เวลาปัจจุบัน = "+ f.format ( เพิ่ม (null,0,0,0,0,0,0,0).getTime())); System.out.println("วันที่/เวลา 1 ปีต่อมา = "+ f.format(addYera(1) .getTime ())); System.out.println("วันที่/เวลา 1 เดือนที่ผ่านมา = "+ f.format(addMonth(-1).getTime())); System.out.println("3 ชั่วโมงต่อมา วันที่/เวลา = "+ f.format(addHour(3).getTime())); System.out.println("วันที่/เวลา 30 ชั่วโมงที่แล้ว = "+ f.format(addHour(-30).getTime ())); System.out.println("วันที่และเวลาหลังจาก 40 นาที = "+ f.format(addMinute(40).getTime())); System.out.println("วันที่และเวลาหลังจาก 80 วินาที = "+ f.format (addMinute(40).getTime())); Time = "+ f.format(addSecond(80).getTime())); System.out.println("วันที่/เวลา 4 วันจาก 1 เดือนที่แล้ว = "+ f.format(เพิ่ม(null,0, -1,4,0,0,0,0).getTime())); }
◆ผลการดำเนินการ
วันที่และเวลาปัจจุบันคือ 2551/03/25 00:00:00 น.
วันที่/เวลาปัจจุบัน = 2551/08 00:00:00 วันที่/เวลาหนึ่งปีให้หลัง = 2552/03/2552 00:00:00 วันที่/เวลาหนึ่งเดือนที่ผ่านมา = 2551/02/2551 00:00 :00 วันที่ และเวลา 3 ชั่วโมงต่อมา = 2551/03/25 03:00:00 วันที่และเวลา 30 ชั่วโมงที่แล้ว = 2008/03/23 18:00:00 วันที่และเวลา 40 นาทีต่อมา = 2008/03/ 25 00:40:00 วันที่และเวลา 80 วินาทีต่อมา = 25/03/2551 00:01:20 วันที่และเวลา 4 วันจาก 1 เดือนที่ผ่านมา = 29/02/2551 00:00:00
*2008 เป็นปีอธิกสุรทิน ดังนั้นวันสุดท้ายของเดือนกุมภาพันธ์จะเป็นวันที่ 29
โปรแกรมตัวอย่างนี้มีไว้สำหรับ Chat&Messengerฟังก์ชั่นการจัดการปฏิทิน/กำหนดการ” ถูกนำมาใช้จริง