`
淑荣_srong
  • 浏览: 6637 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

java中关于输出当前日历的问题

 
阅读更多

在Java核心中看到的一个关于输出当前日历的问题

 

import java.text.DateFormatSymbols;
import java.util.Calendar;
import java.util.GregorianCalendar;

/**
 * 输出当前日历
 * @author srong
 * @version 1.0 2011-09-07
 */
public class CalendarTest {

 public static void main(String[] args) {

  // construct as current date
  GregorianCalendar d = new GregorianCalendar();

  int today = d.get(Calendar.DAY_OF_MONTH);
  int month = d.get(Calendar.MONTH);

  // set d to start date of the month
  d.set(Calendar.DAY_OF_MONTH, 1);

  int weekday = d.get(Calendar.DAY_OF_WEEK);

  // get first day of week (Sunday in the U.S)
  int firstDayOfWeek = d.getFirstDayOfWeek();

  // determine the require indentation for the first line
  int indent = 0;
  while (weekday != firstDayOfWeek) {
   indent++;
   d.add(Calendar.DAY_OF_MONTH, -1);
   weekday = d.get(Calendar.DAY_OF_WEEK);
  }

  // print weekday names
  String[] weekdayNames = new DateFormatSymbols().getShortWeekdays();
  do {
   System.out.printf("%4s", weekdayNames[weekday]);
   d.add(Calendar.DAY_OF_MONTH, 1);
   weekday = d.get(Calendar.DAY_OF_WEEK);
  } while (weekday != firstDayOfWeek);
  System.out.println();

  for (int i = 1; i <= indent; i++)
   System.out.print("      ");

  d.set(Calendar.DAY_OF_MONTH, 1);
  do {
   // print day
   int day = d.get(Calendar.DAY_OF_MONTH);
   System.out.printf("%5d", day);

   // mark current day with *
   if (day == today)
    System.out.print("*");
   else
    System.out.print(" ");

   // advance d to the next day
   d.add(Calendar.DAY_OF_MONTH, 1);
   weekday = d.get(Calendar.DAY_OF_WEEK);

   // start a new line at the start of the week
   if (weekday == firstDayOfWeek)
    System.out.println();
  } while (d.get(Calendar.MONTH) == month);
  // the loop exits when d is day 1 of the next month

  // print final end of line if necessary
  if (weekday != firstDayOfWeek)
   System.out.println();
 }

}

分享到:
评论

相关推荐

    Java输出月份日历

    Java输出月份日历知识点详细说明: 1. Java基础:Java是一种广泛使用的面向对象编程语言,具有跨平台的特性。在本例中,Java的核心类如Calendar、Scanner和SimpleDateFormat被用于实现日历功能。对于初学者来说,...

    java中输出当前系统时间

    ### Java中输出当前系统时间 在Java编程语言中,输出当前系统的日期与时间是一个非常常见的需求,尤其是在开发涉及时间敏感的应用程序时。本篇文章将详细介绍如何利用Java中的`Calendar`类及其子类`...

    Java 日历 小工具

    在Java编程语言中,日历(Calendar)是一个重要的类,用于处理日期和时间。这个"Java日历小工具"很可能是开发者为了方便用户查询任意日期而创建的一个实用程序。下面我们将详细探讨Java日历API以及如何利用它来构建...

    日历java源代码简单的日历程序

    在Java编程语言中,创建一个简单的日历程序是一项常见的任务,可以帮助用户查看日期、月份以及进行相关操作。这里我们将深入探讨如何使用Java实现一个基本的日历功能,主要关注标题和描述中提到的“java源代码”。 ...

    java日历各种写法

    Java日历类是Java编程语言中处理日期和时间的核心组件,它提供了丰富的API来操作日期,包括获取、设置、比较和格式化等。在Java中,`java.util.Calendar`是抽象基类,而`java.util.GregorianCalendar`是其最常见的...

    打印日历(java)

    在Java中,我们可以使用`java.util.Calendar`类来创建和管理日历对象,而`java.text.SimpleDateFormat`类则用于格式化日期输出。下面我们将详细讨论这两个核心知识点。 1. **Java Calendar类** `Calendar`是Java中...

    java日历 时钟。

    在Java编程语言中,`java.util.Calendar` 类是用于处理日期和时间的核心类之一。它提供了丰富的API来创建、操作和格式化日期。这个“java日历 时钟”项目很可能是利用`Calendar`类来实现一个功能性的日历应用程序,...

    java日历记事本程序

    1. **日历功能**:程序的核心部分,可能使用了Java的`java.util.Calendar`类或`java.time`包来实现日期和时间的管理,用户可以查看当前日期、切换月份和年份,并可能有标记特定日期的功能。 2. **记事本功能**:...

    java多功能日历记事本

    项目中的日历功能可能利用了Java的Calendar和Date类。Calendar是Java日期和时间的日历类,它可以处理各种日历字段,如年、月、日、小时等。Date类则表示特定的瞬间,精确到毫秒。开发者可以利用这两个类来显示当前...

    java 日历JS示例

    在Java编程中,日历(Calendar)类是用于处理日期和时间的核心类,而JavaScript(JS)作为前端开发的主要语言,也有多种实现日历功能的方法。这个“java 日历JS示例”压缩包可能包含了一个Java日历的使用示例以及一...

    java编写的日历类程序,输入年份和月份,打印出该月的日历

    本程序为一个基于Java实现的日历生成器,用户可以通过输入指定的年份与月份,在控制台上输出对应月份的日历。输出格式包括一周七天的名称(“日”、“一”、“二”、“三”、“四”、“五”、“六”),以及具体的...

    用java语言编写的日历

    在Java编程领域,创建一个日历应用程序是一项基础但实用的任务,它可以用来展示日期、月份以及进行日期相关的操作。本文将详细解析如何用Java语言编写一个简单的日历,并探讨相关的关键知识点。 首先,我们需要理解...

    java编写的日历程序

    2. **类与对象**:在Java中,日历程序可能会通过创建一个`Calendar`类来封装日期和时间相关的操作。类包含属性(如年、月、日)和方法(如获取当前日期、增加月份等)。同时,理解对象的实例化和类之间的关系(如...

    java日历核心代码

    ### Java日历核心代码知识点解析 #### 一、程序概览 这段Java代码实现了一个简易的日历系统,能够根据用户输入的...此程序不仅可以作为学习Java的基础练习,还可以作为小型项目的一部分,应用于实际的日历应用开发中。

    简单好用的java日历

    根据给定的文件信息,我们可以总结出以下关于“简单好用的Java日历”的相关知识点: ### 1. Java中的日期处理 此代码段展示了一个简单的日历程序,使用Java编写,旨在帮助用户计算给定日期的下一天。在Java中,...

    java日历的制作.ppt

    在Java中,我们可以利用`java.util.Calendar`类和`java.util.Date`类来创建和管理日历对象。让我们深入了解一下这两个类以及如何在实际项目中应用它们。 首先,`Date`类是Java早期提供的日期时间类,它表示自1970年...

    java编写的日历表源代码

    在Java编程语言中,日历表的实现是一个常见的练习,用于理解日期和时间处理以及对象模型设计。"java编写的日历表源代码"这个项目显然旨在提供一个基础的日历功能,但根据描述,它可能存在一些缺陷,这为学习者提供了...

Global site tag (gtag.js) - Google Analytics