在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输出月份日历知识点详细说明: 1. Java基础:Java是一种广泛使用的面向对象编程语言,具有跨平台的特性。在本例中,Java的核心类如Calendar、Scanner和SimpleDateFormat被用于实现日历功能。对于初学者来说,...
### Java中输出当前系统时间 在Java编程语言中,输出当前系统的日期与时间是一个非常常见的需求,尤其是在开发涉及时间敏感的应用程序时。本篇文章将详细介绍如何利用Java中的`Calendar`类及其子类`...
在Java编程语言中,日历(Calendar)是一个重要的类,用于处理日期和时间。这个"Java日历小工具"很可能是开发者为了方便用户查询任意日期而创建的一个实用程序。下面我们将详细探讨Java日历API以及如何利用它来构建...
在Java编程语言中,创建一个简单的日历程序是一项常见的任务,可以帮助用户查看日期、月份以及进行相关操作。这里我们将深入探讨如何使用Java实现一个基本的日历功能,主要关注标题和描述中提到的“java源代码”。 ...
Java日历类是Java编程语言中处理日期和时间的核心组件,它提供了丰富的API来操作日期,包括获取、设置、比较和格式化等。在Java中,`java.util.Calendar`是抽象基类,而`java.util.GregorianCalendar`是其最常见的...
在Java中,我们可以使用`java.util.Calendar`类来创建和管理日历对象,而`java.text.SimpleDateFormat`类则用于格式化日期输出。下面我们将详细讨论这两个核心知识点。 1. **Java Calendar类** `Calendar`是Java中...
在Java编程语言中,`java.util.Calendar` 类是用于处理日期和时间的核心类之一。它提供了丰富的API来创建、操作和格式化日期。这个“java日历 时钟”项目很可能是利用`Calendar`类来实现一个功能性的日历应用程序,...
1. **日历功能**:程序的核心部分,可能使用了Java的`java.util.Calendar`类或`java.time`包来实现日期和时间的管理,用户可以查看当前日期、切换月份和年份,并可能有标记特定日期的功能。 2. **记事本功能**:...
项目中的日历功能可能利用了Java的Calendar和Date类。Calendar是Java日期和时间的日历类,它可以处理各种日历字段,如年、月、日、小时等。Date类则表示特定的瞬间,精确到毫秒。开发者可以利用这两个类来显示当前...
在Java编程中,日历(Calendar)类是用于处理日期和时间的核心类,而JavaScript(JS)作为前端开发的主要语言,也有多种实现日历功能的方法。这个“java 日历JS示例”压缩包可能包含了一个Java日历的使用示例以及一...
本程序为一个基于Java实现的日历生成器,用户可以通过输入指定的年份与月份,在控制台上输出对应月份的日历。输出格式包括一周七天的名称(“日”、“一”、“二”、“三”、“四”、“五”、“六”),以及具体的...
在Java编程领域,创建一个日历应用程序是一项基础但实用的任务,它可以用来展示日期、月份以及进行日期相关的操作。本文将详细解析如何用Java语言编写一个简单的日历,并探讨相关的关键知识点。 首先,我们需要理解...
2. **类与对象**:在Java中,日历程序可能会通过创建一个`Calendar`类来封装日期和时间相关的操作。类包含属性(如年、月、日)和方法(如获取当前日期、增加月份等)。同时,理解对象的实例化和类之间的关系(如...
### Java日历核心代码知识点解析 #### 一、程序概览 这段Java代码实现了一个简易的日历系统,能够根据用户输入的...此程序不仅可以作为学习Java的基础练习,还可以作为小型项目的一部分,应用于实际的日历应用开发中。
根据给定的文件信息,我们可以总结出以下关于“简单好用的Java日历”的相关知识点: ### 1. Java中的日期处理 此代码段展示了一个简单的日历程序,使用Java编写,旨在帮助用户计算给定日期的下一天。在Java中,...
在Java中,我们可以利用`java.util.Calendar`类和`java.util.Date`类来创建和管理日历对象。让我们深入了解一下这两个类以及如何在实际项目中应用它们。 首先,`Date`类是Java早期提供的日期时间类,它表示自1970年...
在Java编程语言中,日历表的实现是一个常见的练习,用于理解日期和时间处理以及对象模型设计。"java编写的日历表源代码"这个项目显然旨在提供一个基础的日历功能,但根据描述,它可能存在一些缺陷,这为学习者提供了...