`

GregorianCalendar类的应用——当前月日历打印

    博客分类:
  • JAVA
 
阅读更多

GregorianCalendar类的应用——当前月日历打印

 1 import java.text.DateFormatSymbols;
 2 import java.util.Calendar;
 3 import java.util.GregorianCalendar;
 4 import java.util.Locale;
 5 
 6 public class CalenderTest {
 7 
 8     /**
 9      * 本程序是打印一个当前月历的示例
10      * 
11      * @Version 1.6 2009/10/7
12      * @author Eduardo
13      */
14     public static void main(String[] args) {
15         //将本地区设置为美国地区,为了输出英文星期格式
16         Locale.setDefault(Locale.US);
17         //构造一个日历对象
18         GregorianCalendar d = new GregorianCalendar();
19         
20         int today =d.get(Calendar.DAY_OF_MONTH);//today为获取当前的日
21         int month=d.get(Calendar.MONTH);//month为获取当前的月
22         //将d设置为本月1号
23         d.set(Calendar.DAY_OF_MONTH,1);
24         
25         int weekday=d.get(Calendar.DAY_OF_WEEK);//weekday为获取本月1号为星期几
26         //firstDayOfWeek为获取本地区的起始日
27         int firstDayOfWeek=d.getFirstDayOfWeek();
28         
29         /*进行缩进,将日历对象的日减一,知道一个星期的第一天位置*/
30         int indent=0;//记录缩进几次
31         while(weekday!=firstDayOfWeek)
32         {
33             indent++;
34             d.add(Calendar.DAY_OF_MONTH, -1);//当前日期提前一天
35             weekday=d.get(Calendar.DAY_OF_WEEK);//获取当前日期为星期几
36         }
37         
38         /*打印星期缩写字符串*/
39         String[] weekdayNames=new DateFormatSymbols().getShortWeekdays();//输出表示星期的方式为缩写
40         do
41         {
42             System.out.printf("%4s",weekdayNames[weekday]);
43             d.add(Calendar.DAY_OF_MONTH,1);//日期增1移动
44             weekday=d.get(Calendar.DAY_OF_WEEK);//获取当前日期为星期几
45         }
46         while(weekday!=firstDayOfWeek);
47         System.out.println();
48 
49         /*本月1号前的日期补位空格*/
50         for(int i=1;i<=indent;i++)
51             System.out.print("    ");
52         
53         /*进行打印日期,当日日期后用*注释,直到d进入下一个月停止打印*/
54         d.set(Calendar.DAY_OF_MONTH, 1);//将d设置为本月1号        
55         do
56         {
57             int day=d.get(Calendar.DAY_OF_MONTH);
58             System.out.printf("%3d", day);
59             
60             if(day==today)System.out.print("*");
61             else System.out.print(" ");
62             
63             d.add(Calendar.DAY_OF_MONTH, 1);
64             weekday=d.get(Calendar.DAY_OF_WEEK);
65             if(weekday==firstDayOfWeek)System.out.println();//weekday为星期的第一天则换行打印
66         }
67         while(d.get(Calendar.MONTH)==month);
68         
69         if(weekday!=firstDayOfWeek)System.out.println();
70     
71     }
72 
73 }
74 

分享到:
评论

相关推荐

    Java的GregorianCalendar类打印出当月的日历

    利用GregorianCalendar类实现当月日历的打印。

    java 使用GregorianCalendar类获取系统的当前时间

    当我们需要获取系统的当前时间时,`GregorianCalendar`类提供了一个方便的方法。下面将详细介绍如何使用`GregorianCalendar`来获取系统当前时间,以及相关的知识点。 首先,我们需要了解`java.util.Calendar`类。这...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    Java API中的`java.util.GregorianCalendar`类是用于处理日期和时间的重要工具,它提供了丰富的功能来满足各种日历操作需求。这个类是基于格里高利历(公历)的,是Java中最常用的日期时间类之一。在给定的压缩包...

    Java课程设计报告——桌面日历.doc

    Java课程设计报告——桌面日历是一项实践项目,旨在利用Java编程语言开发一款便捷的桌面日历应用程序。这个项目的核心目标是结合NetBeans开发环境,创建一个具有记事、日期查询和日程提醒功能的个性化日历系统,以...

    日历源代码——java.pdf

    6. **打印日历**: - 使用循环和条件判断,代码展示了如何自定义格式打印一个月的日历。首先,它打印了星期的标题,然后根据当前日期在一周中的位置设置空格。 - 使用 `while` 循环,当日期在指定月份内时,循环会...

    java课程日历,输入日期打印日历

    Java课程日历是一个实用的程序,它允许用户根据输入的日期范围来查看日历。这个程序的核心在于理解和应用日期和时间...通过使用`java.util.Calendar`或`java.time`包,我们可以实现输入不同日期范围打印日历的功能。

    Calendar类[java][概述](csdn)————程序.pdf

    Java的Calendar类是用于处理日期和时间的核心类,它提供了一种机制来操作日历字段,如年、月、日、小时等。由于Calendar类是一个抽象类,不能直接实例化,我们需要通过其子类来创建对象。在Java中,最常用的是它的...

    java中Calendar类制作日历

    例如,对于大月(1月、3月、5月、7月、8月、10月和12月)有31天,小月(4月、6月、9月和11月)有30天,而2月的天数则取决于是否是闰年(闰年29天,平年28天)。 ```java switch(m){ case1: // 大月 // ... case2: /...

    第五章.常用类.java.API概述——Date类,Calendar类,SimpleDateFormat类,Big.pdf

    可以使用System类的currentTimeMillis()方法获取当前系统的毫秒值,然后传递给Date类的构造方法来创建一个表示当前时间的Date对象。 【Calendar类】 Calendar是Java中的一个抽象类,它是Date类的替代品,提供了更...

    java日历的制作.ppt

    不过,题目也提到了“基于字符界面”,这可能是命令行界面,可以使用`System.out.println()`打印出类似Windows系统日历的布局。 在字符界面中,我们可以按照7天一行的方式输出日历,注意处理每个月的第一天和最后一...

    java版日历

    在Java编程语言中,创建一个日历应用是...4. 打印日历的逻辑,包括处理每月的天数变化。 5. 可能的扩展功能,如显示特殊日期和事件。 通过理解和实现这些知识点,开发者可以创建出一个功能完备且灵活的日历应用程序。

    PHP编写的日历(面向对象)

    `Month`类可能包含一个月的日期集合,而`Day`类则表示单个日期,并可能包括日期的特定属性,如星期几和是否为特殊日期。 3. **属性与方法**:类的属性存储数据,如当前年份、月份等。方法执行操作,如显示日历、...

    Java 类的继承基础练习、GregorianCalendar的使用

    Java 类的继承基础练习主要涉及面向对象编程中的一个重要概念——继承。继承允许一个类(子类)继承另一个类(父类)的属性和方法,从而实现代码的复用和扩展。在这个例子中,我们看到一个继承层次,由`Person`类...

    java中的日期处理类总结:DateCalendarGregorianCalendarDateFormatSimpleDateFormat类

    ### Java中的日期处理类总结:Date、Calendar、GregorianCalendar、DateFormat、SimpleDateFormat 在Java编程中,日期时间处理是常见的需求之一。为了更好地理解和使用Java中的日期处理类,本篇文章将对Date、...

    JAVA语言编写的日历

    这个类是抽象的,但我们可以使用其子类`GregorianCalendar`,它是公历的具体实现。通过`Calendar`类,我们可以获取当前日期、设置特定日期、比较日期以及进行日期计算等操作。 创建日历程序的第一步通常是实例化一...

    java日历java日历java日历

    此代码中使用了 `GregorianCalendar` 来获取当前日期并进行日历的操作。 #### 2.2 设置年份和月份 - **初始化年份**: 通过下拉选择框 (`JComboBox`) 初始化了从当前年份减去 10 年到加上 20 年的选项。 - **初始化...

    java日历 时钟。

    首先,`Calendar` 类是抽象类,我们不能直接实例化它,但可以通过其静态方法 `getInstance()` 获取一个具体的日历实例,通常是当前系统默认的日历类型(例如 GregorianCalendar 对于大多数地区): ```java ...

    使用javabean创建您的网上日历本(2)_jsp实例

    - 通过`GregorianCalendar`类获取当前时间的年份、月份等信息,确保了日期的准确性。 - 通过`SimpleDateFormat`类对日期进行格式化,使得输出的HTML更加美观易读。 - 设置了默认的样式和区域设置,简化了用户配置的...

Global site tag (gtag.js) - Google Analytics