เมนู

Java: คำนวณการบวกและลบวันที่และเวลาได้อย่างง่ายดาย

สารบัญ

ชวา การคำนวณวันที่และเวลาการบวกและการลบเป็นเรื่องง่าย

ทำได้ง่ายๆ ด้วยภาษา Javaคำนวณการบวกและการลบวันที่และเวลานี่คือโปรแกรมตัวอย่างที่แสดงให้เห็นถึงสิ่งนี้
โปรแกรมตัวอย่างนี้มีคุณสมบัติดังต่อไปนี้:

  • ฟังก์ชันนี้จะส่งคืนผลลัพธ์ของการบวกหรือลบเวลาตามจำนวนที่กำหนดจากวันที่ปัจจุบันหรือวันที่และเวลาใดๆ ก็ได้
  • การระบุตัวเลขบวกจะทำให้เวลาเดินหน้า ในขณะที่การระบุตัวเลขลบจะทำให้เวลาถอยหลัง
    ตัวอย่างเช่น 10 วันก่อนวันและเวลาปัจจุบันการคำนวณหากคุณเลือกที่จะทำเช่นนั้น โปรดทำตามขั้นตอนต่อไปนี้:
    ปฏิทิน cal = addMonth(-10);
  • คุณสามารถกำหนดช่วงเวลาใดก็ได้สำหรับแต่ละช่องเวลา ได้แก่ ปี เดือน วัน ชั่วโมง นาที วินาที และมิลลิวินาที
    นอกจากนี้ ยังสัมพันธ์กับเวลาที่กำหนดไว้ด้วยการคำนวณถ้าคุณทำเช่นนั้น โปรดส่งคลาส Calendar เป็นอาร์กิวเมนต์
    ตัวอย่างเช่น คำสั่งต่อไปนี้จะเลื่อนวันที่ไปข้างหน้าหนึ่งปีจากวันที่ที่ระบุในปฏิทิน
    ปฏิทิน cal = add(“ปฏิทินที่ระบุ”,1,0,0,0,0,0,0);
  • หากค่าของช่องเวลาใดๆ เกินช่วงที่กำหนด ค่าของช่องเวลาที่มากที่สุดถัดไปจะถูกเพิ่มหรือลดค่าลง
    ตัวอย่างเช่น คำสั่งต่อไปนี้จะเลื่อนเวลาปัจจุบันไปข้างหน้า 1 ชั่วโมง 5 นาที
    ปฏิทิน cal = addMinute(65);


ตัวอย่างโปรแกรม


การประหารชีวิต

ในโปรแกรมตัวอย่าง ค่าที่ส่งกลับคือหลังจากการคำนวณคุณสามารถรับอ็อบเจ็กต์ java.util.Calendar ที่เก็บวันที่ได้ จากนั้นแปลงเป็น java.util.Date โดยใช้เมธอด java.util.Calendar#getTime() แล้วแปลงเป็นสตริงวันที่โดยใช้ java.text.SimpleDateFormat

◆ตัวอย่าง

public static void main(String[] args) {

SimpleDateFormat f = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println("現在   の日付・時刻 = "+ f.format(add(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(addSecond(80).getTime()));
System.out.println("1ヶ月前から、4日後の日付・時刻 = "+ f.format(add(null,0,-1,4,0,0,0,0).getTime()));

}

◆ผลลัพธ์การดำเนินการ
ขณะนี้วันที่และเวลาคือ 25 มีนาคม 2551 เวลา 00:00:00 น.

วันที่และเวลาปัจจุบัน = 25/03/2008 00:00:00 วันที่และเวลาอีกหนึ่งปีนับจากนี้ = 25/03/2009 00:00:00 วันที่และเวลาหนึ่งเดือนที่แล้ว = 25/02/2008 00:00:00 วันที่และเวลาสามชั่วโมงต่อมา = 25/03/2008 03:00:00 วันที่และเวลา 30 ชั่วโมงที่แล้ว = 23/03/2008 18:00:00 วันที่และเวลาสี่สิบนาทีต่อมา = 25/03/2008 00:40:00 วันที่และเวลาแปดสิบวินาทีต่อมา = 25/03/2008 00:01:20 วันที่และเวลาสี่วันหลังจากหนึ่งเดือนที่แล้ว = 29/02/2008 00:00:00

*เนื่องจากปี 2008 เป็นปีอธิกสุรทิน วันสุดท้ายของเดือนกุมภาพันธ์จึงตรงกับวันที่ 29

โปรแกรมตัวอย่างนี้ใช้สำหรับแอปพลิเคชัน Chat&Messengerฟังก์ชันการจัดการปฏิทินและตารางเวลาจริงๆ แล้วฉันกำลังใช้มันใน [บริบทนี้]

  • URL をkoピーしました!
สารบัญ