转载:
http://hi.baidu.com/triceratops/blog
public class WeekDay{
public static void showWeekDay(int year, int month, int day){
char[] ch = new char[] {'日','一','二','三','四','五','六'};
int eclipseDays = 1; //公元元年一月一日是星期一
eclipseDays += year - 1;
for(int i=1;i<year;i++){
if(isBissextile(i))
eclipseDays++;
}
switch(month){
case 1: break;
case 2: eclipseDays+=3; break;
case 3: eclipseDays+=3; break;
case 4: eclipseDays+=6; break;
case 5: eclipseDays+=8; break;
case 6: eclipseDays+=11; break;
case 7: eclipseDays+=13; break;
case 8: eclipseDays+=16; break;
case 9: eclipseDays+=19; break;
case 10: eclipseDays+=21; break;
case 11: eclipseDays+=24; break;
case 12: eclipseDays+=26;
}
if(isBissextile(year) && month>2)
eclipseDays++;
eclipseDays = (eclipseDays + day -1)%7;
System.out.println(year+"年"+month+"月"+day+"日是星期"+ch[eclipseDays]);
}
public static boolean isBissextile(int year){
boolean bissextileFlag = false;
if(year%4 == 0){
if(year%100 != 0)
bissextileFlag = true;
else if(year%400 == 0)
bissextileFlag = true;
}
return bissextileFlag;
}
public static void main(String[] args) throws Exception{
if(args.length != 3){
System.out.println("Usage: java WeekDay yyyy MM dd");
System.exit(0);
}
showWeekDay(Integer.parseInt(args[0]),Integer.parseInt(args[1]),Integer.parseInt(args[2]));
}
}
分享到:
相关推荐
在这个特定的问题中,我们需要实现一个功能,让用户通过下拉列表选择输入指定的日期,然后系统将其转换为对应的星期数。这个过程涉及到编程语言中的日期处理函数和数据类型。 首先,我们要理解日期和星期之间的关系...
一个用java实现的控制台万年历,可以显示当前的日历,也可以显示指定的日期的日历
Java万年历是一款功能丰富的日历应用,专为程序员和普通用户设计,提供从1800年至2100年间的日期展示,涵盖了公历、农历、星期以及二十四节气等多种时间信息。这款程序的核心在于其强大的日期计算和转换算法,能够...
获取指定日期是星期几可以通过`Calendar`类来实现。下面是一个示例代码: ```java Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 16); // 设置日期 calendar.set(Calendar....
标题 "日历查看课程(支持从指定日期开始显示日历)" 暗示了这是一个关于开发具有特定功能的日历视图的应用程序或组件。这个日历不仅展示日期,还能根据用户需求从指定的日期开始展示,这在教育、计划管理或者时间...
在没有使用日期库函数的情况下,实现星期计算的功能通常需要基于特定的算法来完成。本程序采用了一种基本的方法,即根据两个日期之间的天数差以及已知的一个星期中的某一天(例如星期一)来计算另一个日期是星期几。...
首先,我们来看一下这段代码的核心部分,它实现了根据年月日获取指定日期是星期几的功能。 ```csharp /// /// 根据日期获取该日期星期几 /// /// 年 /// 月 /// 日 /// 返回星期几(汉字表示) public static ...
在给定的示例中,我们看到一个名为`DayOfWeek4Birthday`的类,它用于计算并打印出指定日期在一定年份范围内是星期几。这个程序主要包含两个核心方法:`inputData`和`caculateData`。 `inputData`方法负责接收用户...
【标题】"输入星期显示日历"涉及到的编程任务是创建一个程序,用户可以输入一个年份和该年第一天的星期几(例如,1代表星期一,2代表星期二等),然后程序会在控制台显示出该年的完整日历。这个任务需要结合日期处理...
在名为`StringDemo_18.java`的文件中,你可以创建一个Java程序,使用上述知识来实现显示一周各星期名称的功能。代码可能如下: ```java import java.time.DayOfWeek; import java.time.LocalDate; import java...
这些类提供了丰富的静态工厂方法,如`now()`(获取当前日期/时间)、`of()`(指定日期/时间)和`plusDays()`、`minusMonths()`等方法进行日期计算。 4. **日期计算器的核心功能**: - **日期相加和相减**:通过...
日期类的计算是指对日期类进行各种计算操作,例如计算某一天是一年中的第几星期、计算一年中的第几星期是几号等。这些计算操作可以使用 `Calendar` 类的各种方法来实现。 日期类的转化 日期类的转化是指将 `...
在Java编程语言中,日期和时间的处理是常见的任务,特别是在开发涉及...掌握这些知识点后,你可以轻松地在Java程序中进行日期计算,比如计算两个日期之间的差值、获取指定日期的星期几、或者根据特定规则调整日期等。
获取某一时间段特定星期几的日期。如,查询2011-01-01到2011-02-02时间内所有星期一、星期三的对应日期。
根据给定的信息,我们可以总结出以下关于如何在Java中获取特定月份的所有日期及其对应的星期的知识点。 ### 一、理解代码逻辑 #### 1. 获取月份的年份和月份值 - 使用`String mon`来表示月份(例如 "2023-06"),...
可以使用 `java.text.SimpleDateFormat` 类来按照指定格式打印日期。 ```java <%@ page import="java.util.Date"%> <%@ page import="java.text.SimpleDateFormat"%> (); SimpleDateFormat formatter = new ...
对于输入年月打印该月日历和输入年月日打印星期的功能,可以在上述`printMonth`方法基础上进行扩展,增加对具体日期的处理,如判断指定日期是星期几: ```java public String getDayOfWeek(int year, int month, ...
本文将对Java中的日期操作进行详细解析,主要涵盖以下几个方面: 1. 计算某个月份的最大天数; 2. `Calendar`与`Date`之间的转换; 3. 日期格式化; 4. 获取指定日期所在的周序号及设置某一年的第一周; 5. 使用`...
Java实现的日历表是一种常见的软件组件,常用于各种桌面应用程序和Web应用程序中,提供日期查看、选择和管理功能。在Java编程中,我们可以利用Java API中的`java.time`包和`javax.swing`包来创建这样的组件。下面将...
4. **`DayOfWeek` 属性**:返回一个枚举值,表示指定日期是一周中的哪一天。 #### 代码详解 接下来,我们将逐步分析提供的代码片段,并对其进行改进和解释。 ```csharp private string GetDayOfWeek(string day) ...