`

使用Java的GregorianCalendar实现日历功能

 
阅读更多

一次写成,没有优化代码。只是做个Demo而已。

 

package test.test;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class CalendarTest {

	public static void main(String[] args) {
		
		GregorianCalendar getDate = new GregorianCalendar();
		getDate.set(Calendar.MONTH, 1);
		int month = getDate.get(Calendar.MONTH);
		
		System.out.print("日" + "\t");
		System.out.print("月" + "\t");
		System.out.print("火" + "\t");
		System.out.print("水" + "\t");
		System.out.print("木" + "\t");
		System.out.print("金" + "\t");
		System.out.print("土" + "\t");
		
		System.out.println();
		
		int nextMonth = month;
		int i = 1;
		while(true) {
			getDate.set(Calendar.DAY_OF_MONTH, i);
			nextMonth = getDate.get(Calendar.MONTH);
			if (month != nextMonth) {
				break;
			}
			i++;
			int weekNum = getDate.get(Calendar.DAY_OF_WEEK);
			
			if (getDate.get(Calendar.DAY_OF_MONTH) == 1) {
				for (int j = 1; j < getDate.get(Calendar.DAY_OF_WEEK); j++) {
					System.out.print("\t");
				}
				System.out.print(getDate.get(Calendar.DAY_OF_MONTH) + "\t");
			} else {
				System.out.print(getDate.get(Calendar.DAY_OF_MONTH) + "\t");
			}
			
			if (weekNum == 7) {
				System.out.println();
			}
		}
	}
}

 

以下是显示结果(2012年2月):

日    月    火    水    木    金    土   
                        1     2     3     4   
5     6     7     8     9     10   11   
12   13   14   15   16   17   18   
19   20   21   22   23   24   25   
26   27   28   29   

 

(注意:Calendar里的月份是从0~11,所有将月赋值为1的时候表示的是2月份。

         星期是从1~7,天也是从1开始的

方法add(Calendar.DAY_OF_MONTH, -2)表示今天的之前第二天。

getDate.set(Calendar.DAY_OF_MONTH, i);  可以用getDate.add( Calendar.DAY_OF_MONTH , 1)代替

分享到:
评论

相关推荐

    Java实现的日历功能完整示例

    在本示例中,我们使用Java的日历功能来实现日历的显示和操作。Java日历功能可以使用Calendar类来实现,Calendar类提供了丰富的方法来获取和计算日期信息,例如获取当前日期、计算日期差、获取月份信息等。 知识点4:...

    java实现日历

    本项目通过使用Java Swing库中的各种组件和布局管理器,成功实现了一个简单但功能完备的日历程序。不仅包含了基本的日历视图,还提供了当前日期的快速定位功能。此外,通过对Swing组件的学习和实践,开发者可以...

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

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

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

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

    Java实现日历源码.rar

    这个"Java实现日历源码.rar"文件很可能包含了对Java内置Calendar类的实现或扩展,以及可能的一些示例代码,用于帮助开发者理解日历功能的内部工作原理或者提供自定义日历的模板。这里我们将详细讨论Java中的日历系统...

    java 编写的与农历共显的日历

    3. **记事本功能**: 为了实现日历中的记事功能,程序可能包含了一个简单的文本编辑器组件。这可能使用了`java.io`包中的类来处理文件读写,如`File`, `BufferedReader`, 和 `BufferedWriter`,以保存和加载用户的...

    java 编写的 日历 实现源码

    它是所有日历类的基类,包括常用的`GregorianCalendar`,它实现了公历(格里高利历)的日历系统。 2. **创建和获取日历实例**: 创建`Calendar`实例通常通过`Calendar.getInstance()`静态方法,可以指定特定的时区...

    JAVA语言编写的日历

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

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

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

    java日历java日历java日历

    根据提供的文件信息,我们可以归纳出以下关于 Java 日历应用的...通过以上分析,我们可以看出这个 Java 程序主要是利用 Java Swing 组件构建了一个具有基本功能的日历界面,实现了年份、月份的选择及日期的显示等功能。

    java日历 时钟。

    这个“java日历 时钟”项目很可能是利用`Calendar`类来实现一个功能性的日历应用程序,用户可以查看日期、设置提醒等。下面将详细介绍`Calendar`类以及如何使用它来构建日历和时钟功能。 首先,`Calendar` 类是抽象...

    java日历各种写法

    在Java中,`java.util.Calendar`是抽象基类,而`java.util.GregorianCalendar`是其最常见的实现,基于公历系统。 一、创建日历实例 创建日历实例通常通过`Calendar.getInstance()`方法完成,它会根据系统默认时区和...

    java日历的制作.ppt

    Java日历制作是一个涉及到日期和时间处理的编程任务,它主要使用了Java的日期时间API。在Java中,我们可以利用`java.util.Calendar`类和`java.util.Date`类来创建和管理日历对象。让我们深入了解一下这两个类以及...

    一个java_Swing做的日历控件.doc

    在实现日期选择功能时,我们需要使用 Java 的日期和时间类库,例如 GregorianCalendar。我们可以使用 GregorianCalendar 获取当前日期,并将其显示在界面上。 ### 5. 时间选择功能 在实现时间选择功能时,我们需要...

    java日历控件Calendar 多种类型

    在Java中,Calendar是抽象类,通常通过Calendar.getInstance()获取其子类实例,如GregorianCalendar,这是默认的日历实现,基于公历。 在Java中,日历控件通常用于用户界面中,让用户能够选择日期。然而,Java标准...

    java优美日历程序

    Java优美日历程序是一款专为Java开发者设计的日历工具,旨在提供便捷的日历功能实现,帮助开发者快速构建具有日历展示的应用。这个程序分为“简单日历”和“精美日历”两个部分,以满足不同需求。从提供的压缩包文件...

    java编写的日历

    private GregorianCalendar cal=new GregorianCalendar(l); //星期面板 private JPanel weekPanel=new JPanel(); //天按钮组 private JToggleButton[] days=new JToggleButton[42]; //天面板 private JPanel Days = ...

    java日历组件

    `calendar-component-demo`可能是一个包含示例代码的项目,演示如何使用Java的日历组件。通常,这样的示例会展示如何创建日历对象,设置日期,获取日期,以及执行各种日期和时间的计算。运行这个Demo可以帮助理解...

Global site tag (gtag.js) - Google Analytics