随便给你一个日期(例如2010-1-15),问这一天是否是“星期六”?
两种方法,可以求任意星期几...
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Calendar;
public class DayOfWeek {
// 第一种方法
// private static void getWeek(int a,int b,int c){
// Calendar cal = Calendar.getInstance();
// cal.set(a, b-1, c);
// int day = cal.get(cal.DAY_OF_WEEK);
// if(day == 0){
// System.out.println("今天是星期日");
// }else{
// System.out.println("今天是星期"+(day-1));
// }
// }
// 第二种方法
private static void getWeek(int a,int b,int c){
int[] month = {0,31,28,31,30,31,30,31,31,30,31,30,31};;
if(a%400 == 0 || (a%4 == 0 && a%100 != 0)){
month[2] = 29;
}
//以公元0年为基准,看过了多少年。
//1.每一年按365天算。
//2.做调整,看经过了多少闰年。按闰年的规律做相应的调整。
int days = a*365 + (a-1)/4-(a-1)/100+(a-1)/400;
for(int i=0;i<b;i++){
days += month[i];
}
days += c+6;//因为0年1月1日是星期六
int t = days%7;
if(t == 0)
System.out.println("今天是星期日");
else{
System.out.println("今天是星期"+days%7);
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
String[] s = str.split("-");
int a = Integer.parseInt(s[0]);
int b = Integer.parseInt(s[1]);
int c = Integer.parseInt(s[2]);
getWeek(a,b,c);
}
}
分享到:
相关推荐
”中,我们面临的问题是给定一个日期,如何确定该日期对应的星期几。这个问题可以通过Java语言来解决,主要涉及到Java中的日期时间API。下面将详细介绍如何用Java实现这一功能。 首先,我们需要引入Java日期时间...
在C语言编程中,设计一个程序来实现标题和描述中提到的功能,即通过菜单选择输入年、月、日,然后计算出所选日期距离当前日期的天数以及那天是星期几,是一项常见的日期处理任务。这涉及到对日期的数学运算、循环...
本文将详细讲解如何在JavaScript中进行日期的加减运算,以及如何返回当前时间后一个星期的日期,并确保结果以"yyyy-MM-dd"的格式输出。 首先,JavaScript提供了内置的`Date`对象用于处理日期和时间。创建一个`Date`...
在VB(Visual Basic)编程中,查询日期对应的星期是一个常见的任务,这主要涉及到日期和时间的处理。在VB中,我们可以使用内置的Date函数来创建日期对象,然后通过Weekday函数来获取该日期对应的星期几。这篇教程将...
该文档是C语言根据日期求星期,分段计算方式今天是2007年10月17日,... 现在告诉你一个日期,你能回答今天是星期几吗? 输入描述: 输入数据有多组,每组占一行,输入三个整数year(0), month(0), day(0). 输出描述:
计算2000年1月1日后的某一天是星期几。要求进行日期合法性判断,非法日期则函数返回0。合法日期则返回1-7中某个数值,表示星期一到星期天中某一天。
1. **星期周期性**:一周为7天,因此任意日期与另一个日期之间的天数差对7取模的结果即为两个日期之间的星期差。 2. **世纪与闰年规则**:每400年中包含97个闰年。蔡勒公式考虑到了这一周期性规律,通过\( \left\...
例如,我们可以创建一个`tm`对象来表示日期,如`tm date = {0, 0, 15, 2, 1, 2023, 0, 0, 0}`,分别代表秒、分钟、小时、月份中的天数、月份、年份减去1900、星期几(0为星期日)以及夏令时状态。 2. **转换函数**...
这里的关键是选择一个确定的星期天作为参考点(如`dt`),然后计算每个日期与这个参考点之间的天数,并检查它们对7取余数是否相等。 在实际应用中,我们可以根据需求和性能考虑选择适合的方法。对于简单场景,方法...
蔡勒公式考虑了年份、月份和日期,通过一系列数学运算得到一个模7的余数,这个余数对应的就是星期几,其中0表示星期六,1表示星期日,以此类推。公式如下: 对于月份3月和4月至12月: `h = (q + (13(m+1)/5) + K + ...
另一种常见方法是使用Zeller's Congruence公式,这是一个基于模运算的简单算法,可以计算出给定日期是星期几。Zeller's Congruence公式如下: ``` h = (q + ((13(m+1))/5) + K + (K/4) + (J/4) - 2J) % 7 ``` 其中...
假设11月1日是星期六,则11月的第一个双休日是11月1日和2日;最后一个双休日为11月29日和30日。因此,11月1日是星期六。 - 下面是11月的日历表: ``` 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14...
将发布的日期转换为人性化的日期,演示如: 效果演示: 2010-01-21 10:33:15 35分钟前 -------------------------------- 2010-01-20 10:33:15 1天前 -------------------------------- 2010-01-19 9:33:15 2天1...
输入任意日期(年月日),根据Zeller公式,利用matlab来计算是星期几
"时间显示包含日期,星期(VB.NET)"这个标题所指的就是如何在VB.NET中创建一个功能,显示当前日期并附带对应的星期信息。VS2010是Visual Studio 2010的缩写,它是一个集成开发环境,我们将在其中编写和调试代码。 在...
在这个特定的问题中,我们需要实现一个功能,让用户通过下拉列表选择输入指定的日期,然后系统将其转换为对应的星期数。这个过程涉及到编程语言中的日期处理函数和数据类型。 首先,我们要理解日期和星期之间的关系...
oracle语句查询两个日期之间星期六、星期日的天数
这将返回当前日期在一个月中的第几天,例如 "15" 代表一个月的第十五天。 三、获取一个年的第几天 可以使用 DDD format model 来获取一个年的第几天。例如: ```sql SELECT TO_CHAR(SYSDATE,' DDD ') FROM DUAL; `...
核心功能包括判断闰年、确定1900年1月1日是星期一这一基础信息,并据此计算出指定日期是一周中的哪一天。 #### 二、关键函数解析 ##### 2.1 判断闰年的函数`leap()` 此函数接收一个整数参数`year`(表示年份),并...