ผู้ใช้สามารถปรับแต่งและพิมพ์ปฏิทินสำหรับปีใดปีหนึ่งได้ กล่าวคือ พิมพ์ปฏิทินทั้งหมดในปีนั้น ๆ
ตัวอย่างเช่น พิมพ์ปฏิทิน 2013 ออกมาดังนี้:
กุมภาพันธ์ 2556
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2
4 5 6 7 8 9
11 12 13 14 15 16
18 19 20 21 22 23
25 26 27 28
มีนาคม 2013
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2
4 5 6 7 8 9
11 12 13 14 15 16
18 19 20 21 22 23
25 26 27 28 29 30
เมษายน 2013
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2 3 4 5 6
8 9 10 11 12 13
15 16 17 18 19 20
22 23 24 25 26 27
29 30
พฤษภาคม 2013
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2 3 4
6 7 8 9 10 11
13 14 15 16 17 18
20 21 22 23 24 25
27 28 29 30 31
มิ.ย. 2556
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
3 4 5 6 7 8
10 11 12 13 14 15
17 18 19 20 21 22
24 25 26 27 28 29
กรกฎาคม 2013
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2 3 4 5 6
8 9 10 11 12 13
15 16 17 18 19 20
22 23 24 25 26 27
29 30 31
สิงหาคม 2556
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
ยี่สิบสาม
5 6 7 8 9 10
12 13 14 15 16 17
19 20 21 22 23 24
26 27 28 29 30 31
กันยายน 2013
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2 3 4 5 6 7
9 10 11 12 13 14
16 17 18 19 20 21
23 24 25 26 27 28
30
ตุลาคม 2556
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2 3 4 5
7 8 9 10 11 12
14 15 16 17 18 19
21 22 23 24 25 26
28 29 30 31
พฤศจิกายน 2013
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2
4 5 6 7 8 9
11 12 13 14 15 16
18 19 20 21 22 23
25 26 27 28 29 30
ธันวาคม 2556
-
อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์
2 3 4 5 6 7
9 10 11 12 13 14
16 17 18 19 20 21
23 24 25 26 27 28
30 31
เช่นการพิมพ์: ปฏิทินเดือนมกราคม 2557
วันนี้คือ: 27-04-2013 จากนั้นปฏิทินของเดือนปัจจุบันจะพิมพ์ดังนี้:
ตอนนี้ป้อนส่วนของรหัส:
================================================== ======. ======
ส่วนรหัส:
================================================== ======. ======
/UUUUUU_Test/src/com/b510/date/HongtenDate.java
นำเข้า java.text.SimpleDateFormat;
นำเข้า java.util.Calendar;
นำเข้า java.util.Date;
นำเข้า java.util.GregorianCalendar;
-
* คลาสการประมวลผลวันที่ ในคลาสนี้ Constructor <code>HongtenDate()</code> จะตั้งค่าปีเป็นปีปัจจุบันโดยค่าเริ่มต้น<br>
* และ <code>HongtenDate(int year)</code> คุณสามารถปรับแต่งปีได้<br>
-
* <ก่อน>
* วันที่ HongtenDate = ใหม่ HongtenDate();
* </pre>
-
* หรือ<br>
-
* <ก่อน>
* HongtenDate hd = HongtenDate ใหม่ (2014);
* </pre>
-
* โทร <code>printCalendar()</code> เพื่อพิมพ์วันที่ของปี<br>
* โทร <code>printCurrentMonth()</code> เพื่อพิมพ์วันที่ของเดือนปัจจุบัน<br>
* แน่นอนคุณสามารถโทร<br>ได้เช่นกัน
* <code>printMonthOfYear()</code>ตั้งค่าพารามิเตอร์เพื่อพิมพ์วันที่ของเดือนใดเดือนหนึ่ง<br>
* นี่คือแผนอ้างอิงบางส่วน:<br>
-
* <ก่อน>
* // ไม่มีพารามิเตอร์ ระบบจะใช้ค่าเริ่มต้นเป็นปีปัจจุบัน
* วันที่ HongtenDate = ใหม่ HongtenDate();
* date.printCalendar();
* date.printCurrentMonth();
* date.printMonthOfYear(4);
* </pre>
-
* หรือ<br>
-
* <ก่อน>
* // ตั้งเป็น 2014
* HongtenDate hd = HongtenDate ใหม่ (2014);
* hd.printCurrentMonth();
* hd.printMonthOfYear(1);
* </pre>
-
* @วันที่ 27-4-2556
* @ผู้เขียน hongten
-
-
HongtenDate ชั้นเรียนสาธารณะ {
//เดือน
-
ประชาชนคงสตริงสุดท้ายมกราคม = "มกราคม";
สาธารณะคงที่สุดท้าย String FEBUARY = "กุมภาพันธ์";
สาธารณะคงที่สุดท้าย String มีนาคม = "มีนาคม";
สาธารณะคงที่สุดท้าย String APRIL = "เมษายน";
สาธารณะคงที่สุดท้าย String MAY = "พฤษภาคม";
สาธารณะคงที่สุดท้าย String JUN = "มิถุนายน";
สาธารณะคงที่สุดท้าย String JULY = "กรกฎาคม";
สาธารณะคงที่สุดท้าย String AUGUST = "สิงหาคม";
สาธารณะคงที่สุดท้าย String SEPTERMBER = "กันยายน";
สาธารณะคงที่สุดท้าย String ตุลาคม = "ตุลาคม";
สาธารณะคงที่สุดท้าย String NOVEMBER = "พฤศจิกายน";
สาธารณะคงที่สุดท้าย String DECEMBER = "ธันวาคม";
-
* ปี
-
ปี int เอกชน
-
* วันในสัปดาห์ในวันที่ 1 มกราคม (เช่น: 2013-01-01-->วันอังคาร ดังนั้น <code>whatDayOnJanuaryOne = 2;</code>)
-
int ส่วนตัว whatDayOnJanuaryOne;
// หลัก
-
โมฆะคงที่สาธารณะ main (String [] args) พ่นข้อยกเว้น {
// ไม่มีพารามิเตอร์ ระบบจะใช้ค่าเริ่มต้นเป็นปีปัจจุบัน
วันที่ HongtenDate = ใหม่ HongtenDate();
//date.printCalendar();
date.printCurrentMonth();
// date.printMonthOfYear (4);
// ตั้งเป็น 2014
HongtenDate hd = HongtenDate ใหม่ (2014);
// hd.printCurrentMonth();
// hd.printMonthOfYear (1);
-
// ไม่มีพารามิเตอร์ ระบบจะใช้ค่าเริ่มต้นเป็นปีปัจจุบัน
HongtenDate สาธารณะ () {
ปฏิทิน cal = Calendar.getInstance();
this.year = cal.get(ปฏิทิน.ปี);
พยายาม {
setWhatDayOnJanuaryOne (รับหนึ่งมกราคม (ปี));
} จับ (ข้อยกเว้นจ) {
e.printStackTrace();
-
-
//ด้วยพารามิเตอร์ ให้ตั้งค่าปี
HongtenDate สาธารณะ (int ปี) {
this.year = ปี;
พยายาม {
setWhatDayOnJanuaryOne (รับหนึ่งมกราคม (ปี));
} จับ (ข้อยกเว้นจ) {
e.printStackTrace();
-
-
-
* พิมพ์วันที่ทั้งหมดของเดือนใดเดือนหนึ่ง
-
* @พารามมอน
* เดือน
* @throwsException
-
โมฆะสาธารณะ printMonthOfYear (int จันทร์) พ่นข้อยกเว้น {
ถ้า (จันทร์ < 1 || จันทร์ > 12) {
System.out.println("เดือนที่คุณป้อน [" + mon + "] ไม่ถูกต้อง โปรดตรวจสอบความคืบหน้า...");
กลับ;
-
GregorianCalendar ตอนนี้ = GregorianCalendar ใหม่ ();
//รับวัตถุวันที่
SimpleDateFormat sdf = SimpleDateFormat ใหม่ ("yyyy-MM-dd");
วันที่ date = sdf.parse(ปี + "-" + จันทร์ + "-01");
//ตั้งเวลาปัจจุบัน
now.setTime(วันที่);
// รับเดือนปัจจุบันจากวันที่
int month = now.get(Calendar.MONTH);
//ตั้งวันที่ปัจจุบันเป็น 1
now.set(ปฏิทิน.DAY_OF_MONTH, 1);
// รับวันในสัปดาห์ตอนนี้คือ
int week = now.get(ปฏิทิน.DAY_OF_WEEK);
//พิมพ์ป้ายกำกับส่วนหัวของปฏิทิน
System.out.println("日/t一/t二/t三/t四/t五/t六");
//พิมพ์ช่องว่างก่อนวันที่ปัจจุบัน
สำหรับ (int i = Calendar.SUNDAY; i < สัปดาห์; i++) {
System.out.print("/t");
-
//พิมพ์เนื้อหาปฏิทิน
ในขณะที่ (now.get(Calendar.MONTH) == เดือน) {
int day = now.get(ปฏิทิน.DAY_OF_MONTH);
//จัดแนวปฏิทินเอาต์พุต หากน้อยกว่า 10 ให้เว้นวรรค
ถ้า (วัน < 10) {
System.out.print(" " + วัน + "/t");
} อื่น {
System.out.print("" + วัน + "/t");
-
//ถ้าเป็นวันเสาร์ก็ตัดสาย
ถ้า (สัปดาห์ == ปฏิทินวันเสาร์) {
System.out.println();
-
// แต่ละครั้งที่วันที่ถูกส่งออก ให้บวกหนึ่งวันเข้ากับวันที่
now.add(ปฏิทิน.DAY_OF_MONTH, 1);
//ดึงข้อมูลวันในสัปดาห์
สัปดาห์ = now.get(ปฏิทิน.DAY_OF_WEEK);
-
-
-
* พิมพ์วันที่ทั้งหมดของเดือนปัจจุบัน ซึ่งจะไม่เปลี่ยนแปลงขึ้นอยู่กับปีที่ผู้ใช้กำหนด
-
โมฆะสาธารณะ printCurrentMonth() {
GregorianCalendar ตอนนี้ = GregorianCalendar ใหม่ ();
//รับวัตถุวันที่
วันที่ วันที่ = วันที่ใหม่ ();
//ตั้งเวลาปัจจุบัน
now.setTime(วันที่);
//รับวันปัจจุบันจากวันที่
int toDay = now.get(ปฏิทิน.DAY_OF_MONTH);
// รับเดือนปัจจุบันจากวันที่
int month = now.get(Calendar.MONTH);
//ตั้งวันที่ปัจจุบันเป็น 1
now.set(ปฏิทิน.DAY_OF_MONTH, 1);
// รับวันในสัปดาห์ตอนนี้คือ
int week = now.get(ปฏิทิน.DAY_OF_WEEK);
//พิมพ์ป้ายกำกับส่วนหัวของปฏิทิน
System.out.println("日/t一/t二/t三/t四/t五/t六");
//พิมพ์ช่องว่างก่อนวันที่ปัจจุบัน
สำหรับ (int i = Calendar.SUNDAY; i < สัปดาห์; i++) {
System.out.print("/t");
-
//พิมพ์เนื้อหาปฏิทิน
ในขณะที่ (now.get(Calendar.MONTH) == เดือน) {
int day = now.get(ปฏิทิน.DAY_OF_MONTH);
//จัดแนวปฏิทินเอาต์พุต หากน้อยกว่า 10 ให้เว้นวรรค
ถ้า (วัน < 10) {
// หากเป็นวันที่ปัจจุบัน ให้เพิ่มป้ายกำกับ
ถ้า (วัน == วันนี้) {
System.out.print(":)" + วัน + "(:/t");
} อื่น {
System.out.print(" " + วัน + "/t");
-
} อื่น {
// หากเป็นวันที่ปัจจุบัน ให้เพิ่มป้ายกำกับ
ถ้า (วัน == วันนี้) {
System.out.print(":)" + วัน + "(:/t");
} อื่น {
System.out.print("" + วัน + "/t");
-
-
//ถ้าเป็นวันเสาร์ก็ตัดสาย
ถ้า (สัปดาห์ == ปฏิทินวันเสาร์) {
System.out.println();
-
// แต่ละครั้งที่วันที่ถูกส่งออก ให้บวกหนึ่งวันเข้ากับวันที่
now.add(ปฏิทิน.DAY_OF_MONTH, 1);
//ดึงข้อมูลวันในสัปดาห์
สัปดาห์ = now.get(ปฏิทิน.DAY_OF_WEEK);
-
-
-
* รับวันในสัปดาห์ที่วันที่ 1 มกราคมของปีนี้คือ
-
* @ปีพาราม
* ปี
* @กลับ
* @throwsException
-
public int getJanuaryOne (int year) ส่งข้อยกเว้น {
int[] สัปดาห์วัน = { 0, 1, 2, 3, 4, 5, 6 };
ปฏิทิน cal = Calendar.getInstance();
SimpleDateFormat sdf = SimpleDateFormat ใหม่ ("yyyy-MM-dd");
วันที่ dt = sdf.parse(ปี + "-01-01");
cal.setTime(dt);
int w = cal.get(ปฏิทิน.DAY_OF_WEEK) - 1;
ถ้า (w < 0)
ว = 0;
กลับสัปดาห์วัน[w];
-
-
* พิมพ์ทุกเดือนของปี
-
โมฆะสาธารณะ printCalendar () {
สำหรับ (int i = 1; i <= 12; i++) {
สตริงเดือน = getMonth(i);
ชื่องานพิมพ์(เดือน);
//พิมพ์เดือนมี 31 วัน
ถ้า (i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12) {
พิมพ์31();
-
//พิมพ์เดือนมี 30 วัน
อย่างอื่นถ้า (i == 4 || i == 6 || i == 9 || i == 11) {
พิมพ์30();
-
//พิมพ์เดือนกุมภาพันธ์
อย่างอื่นถ้า (i == 2) {
พิมพ์กุมภาพันธ์ ();
-
System.out.println();
-
-
//รูปแบบการพิมพ์
// ============================================ เริ่ม
-
* พิมพ์เดือนกุมภาพันธ์ เดือนกุมภาพันธ์อาจแตกต่างกันในแต่ละปี จึงต้องดำเนินการแยกกัน
-
ป้องกันโมฆะ printFebuary () {
ถ้า (ปีนี้ % 4 == 0) {
//ปีอธิกสุรทิน
พิมพ์LeapYear();
} อื่น {
//ปีปกติ
พิมพ์ไม่ก้าวกระโดดปี ();
-
-
-
*รูปแบบการพิมพ์เดือนกุมภาพันธ์ในปีอธิกสุรทิน
-
โมฆะส่วนตัว printLeapYear () {
สำหรับ (int j = 1; j <= 29; j++) {
สตริง tmp = "";
ถ้า (เจ == 1) {
สำหรับ (int k = 1; k <= this.whatDayOnJanuaryOne % 7; k++) {
tmp = tmp + " ";
-
tmp = tmp + " " + j + " ";
ถ้า (this.whatDayOnJanuaryOne == 6) {
System.out.println(tmp);
} อื่น {
System.out.print(tmp);
-
} อื่นถ้า (j > 1 && j < 29) {
ถ้า ((this.whatDayOnJanuaryOne + j) % 7 == 0) {
System.out.println(" " + j);
} อื่น {
ถ้า (เจ < 10) {
System.out.print(" " + j + " ");
} อื่น {
System.out.print(" " + j + " ");
-
-
} อื่นถ้า (j == 29) {
System.out.println(" " + j);
this.whatDayOnJanuaryOne = ((this.whatDayOnJanuaryOne + j) % 7);
-
-
-
-
* พิมพ์รูปแบบเดือนกุมภาพันธ์ในปีปกติ
-
โมฆะส่วนตัว printNonleapYear () {
สำหรับ (int j = 1; j <= 28; j++) {
สตริง tmp = "";
ถ้า (เจ == 1) {
สำหรับ (int k = 1; k <= this.whatDayOnJanuaryOne % 7; k++) {
tmp = tmp + " ";
-
tmp = tmp + " " + j + " ";
ถ้า (this.whatDayOnJanuaryOne == 6) {
System.out.println(tmp);
} อื่น {
System.out.print(tmp);
-
} อื่นถ้า (j > 1 && j < 28) {
ถ้า ((this.whatDayOnJanuaryOne + j) % 7 == 0) {
System.out.println(" " + j);
} อื่น {
ถ้า (เจ < 10) {
System.out.print(" " + j + " ");
} อื่น {
System.out.print(" " + j + " ");
-
-
} อื่นถ้า (j == 28) {
System.out.println(" " + j);
this.whatDayOnJanuaryOne = ((this.whatDayOnJanuaryOne + j) % 7);
-
-
-
-
* พิมพ์เดือนมี 30 วัน
-
โมฆะที่ได้รับการป้องกัน print30 () {
สำหรับ (int j = 1; j <= 30; j++) {
สตริง tmp = "";
ถ้า (เจ == 1) {
สำหรับ (int k = 1; k <= this.whatDayOnJanuaryOne % 7; k++) {
tmp = tmp + " ";
-
tmp = tmp + " " + j + " ";
ถ้า (this.whatDayOnJanuaryOne == 6) {
System.out.println(tmp);
} อื่น {
System.out.print(tmp);
-
} อื่นถ้า (j > 1 && j < 30) {
ถ้า ((this.whatDayOnJanuaryOne + j) % 7 == 0) {
System.out.println(" " + j);
} อื่น {
ถ้า (เจ < 10) {
System.out.print(" " + j + " ");
} อื่น {
System.out.print(" " + j + " ");
-
-
} อื่นถ้า (j == 30) {
System.out.println(" " + j);
this.whatDayOnJanuaryOne = ((this.whatDayOnJanuaryOne + j) % 7);
-
-
-
-
* พิมพ์เดือนมี 31 วัน
-
โมฆะที่ได้รับการป้องกัน print31 () {
สำหรับ (int j = 1; j <= 31; j++) {
สตริง tmp = "";
ถ้า (เจ == 1) {
สำหรับ (int k = 1; k <= this.whatDayOnJanuaryOne % 7; k++) {
tmp = tmp + " ";
-
tmp = tmp + " " + j + " ";
ถ้า (this.whatDayOnJanuaryOne == 6) {
System.out.println(tmp);
} อื่น {
System.out.print(tmp);
-
} อื่นถ้า (j > 1 && j < 31) {
ถ้า ((this.whatDayOnJanuaryOne + j) % 7 == 0) {
System.out.println(" " + j);
} อื่น {
ถ้า (เจ < 10) {
System.out.print(" " + j + " ");
} อื่น {
System.out.print(" " + j + " ");
-
-
} อื่นถ้า (j == 31) {
System.out.println(" " + j);
this.whatDayOnJanuaryOne = ((this.whatDayOnJanuaryOne + j) % 7);
-
-
-
-
*พิมพ์ชื่อของแต่ละเดือน
-
* @พารามเดือน
-
ป้องกันเป็นโมฆะ printTitle (เดือนสตริง) {
System.out.println(" " + เดือน + " " + this.year + " ");
System.out.println("----------------------------------------------- -- --");
System.out.println("อาทิตย์ จันทร์ อังคาร พุธ พฤหัสบดี ศุกร์ เสาร์");
-
//รูปแบบการพิมพ์
// ============================================== จบ
-
* รับชื่อภาษาอังกฤษของเดือน
-
* @พาราม ม
* การแสดงตัวเลขของเดือน
* @กลับ
-
สตริงสาธารณะ getMonth (int m) {
สตริงเดือน = "";
สวิตช์ (ม.) {
กรณีที่ 1:
เดือน = มกราคม;
หยุดพัก;
กรณีที่ 2:
เดือน = กุมภาพันธ์;
หยุดพัก;
กรณีที่ 3:
เดือน = มีนาคม;
หยุดพัก;
กรณีที่ 4:
เดือน = เมษายน;
หยุดพัก;
กรณีที่ 5:
เดือน = พฤษภาคม;
หยุดพัก;
กรณีที่ 6:
เดือน = มิถุนายน;
หยุดพัก;
กรณีที่ 7:
เดือน = กรกฎาคม;
หยุดพัก;
กรณีที่ 8:
เดือน = สิงหาคม;
หยุดพัก;
กรณีที่ 9:
เดือน = กันยายน;
หยุดพัก;
กรณีที่ 10:
เดือน = ตุลาคม;
หยุดพัก;
กรณีที่ 11:
เดือน = พฤศจิกายน;
หยุดพัก;
กรณีที่ 12:
เดือน = ธันวาคม;
หยุดพัก;
-
เดือนที่กลับมา;
-
สาธารณะ int getYear () {
ปีที่กลับมา;
-
โมฆะสาธารณะ setYear (ปี int) {
this.year = ปี;
-
int สาธารณะ getWhatDayOnJanuaryOne () {
ส่งคืน whatDayOnJanuaryOne;
-
โมฆะสาธารณะ setWhatDayOnJanuaryOne (int whatDayOnJanuaryOne) {
this.whatDayOnJanuaryOne = whatDayOnJanuaryOne;
-
-