`
wing123
  • 浏览: 798799 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

指定日期是星期几

    博客分类:
  • Java
阅读更多

代码:

 

public void weekTest() throws ParseException {
	Date date = new SimpleDateFormat("yyyy-MM-dd").parse("2011-02-01");
	Calendar c = Calendar.getInstance();
	c.setTime(date);
	int year = c.get(Calendar.YEAR);
	int month = c.get(Calendar.MONTH) + 1;// January is 0
	int day = c.get(Calendar.DAY_OF_WEEK_IN_MONTH);
	int week = c.get(Calendar.DAY_OF_WEEK);
	showEnWeek(week);
	showWeekDay(year, month, day);
    }

    private void showEnWeek(int week) {
	String weekStr = "";
	switch (week) {
	case 1:
	    weekStr = "Sun";
	    break;
	case 2:
	    weekStr = "Mon";
	    break;
	case 3:
	    weekStr = "Tue";
	    break;
	case 4:
	    weekStr = "Wed";
	    break;
	case 5:
	    weekStr = "Thu";
	    break;
	case 6:
	    weekStr = "Fri";
	    break;
	case 7:
	    weekStr = "Sat";
	    break;
	}
	System.out.println(weekStr);

    }

    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;

    }

 

 

分享到:
评论

相关推荐

    PHP获取指定日期是星期几的实现方法

    在PHP编程中,经常需要处理日期和时间数据,而获取指定日期是星期几是一个常见的需求。PHP提供了多种函数来处理日期和时间,使得这个任务变得非常简单。下面,我们将详细解释如何在PHP中获取指定日期是星期几,以及...

    根据日期获取该日期星期几

    ### 根据日期获取该日期星期几 在日常生活中,我们经常会遇到需要判断某一天是星期几的情况。例如,在安排会议、制定计划或是编写程序时,了解特定日期对应的星期可以帮助我们更好地组织工作与生活。本篇文章将详细...

    DELPHI根据指定日期返回星期几.rar

    标题“DELPHI根据指定日期返回星期几.rar”所涉及的知识点主要集中在使用Delphi编程语言来处理日期和时间,并将指定日期转换成对应的星期几的字符串表示。Delphi是基于Object Pascal的一种强大的Windows应用程序开发...

    根据任意输入的日期,得出星期几(2KB)

    这个程序可能是用于帮助用户查询任何指定日期是星期几,这在日程管理、数据分析或者简单的日常查询中都很实用。 描述中的“2KB”指的是程序的大小,这可能意味着这是一个小型的、轻量级的应用,很可能使用基础的...

    C#基于基姆拉尔森算法计算指定日期是星期几的方法

    本文实例讲述了C#基于基姆拉尔森算法计算指定日期是星期几的方法。分享给大家供大家参考。具体分析如下: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示...

    利用Excel公式计算上月月末日期的星期.rar

    2. **结合`WEEKDAY`函数**:`WEEKDAY(date, [return_type])`,这个函数返回指定日期是星期几,`return_type`参数可以改变返回值的类型,例如1(星期日是一周的第一天)到7(星期一是一周的第一天)。默认情况下,`...

    仿iOS带有星期几的日期时间选择器

    2. **日期和时间处理**:项目中可能会使用`java.util.Calendar`或`java.time`包(API 26及以上)来处理日期和时间的计算,如获取当前日期、计算指定日期是星期几等。 3. **触摸事件处理**:为了使用户能够选择日期...

    将指定的日期转换为星期

    在这个特定的问题中,我们需要实现一个功能,让用户通过下拉列表选择输入指定的日期,然后系统将其转换为对应的星期数。这个过程涉及到编程语言中的日期处理函数和数据类型。 首先,我们要理解日期和星期之间的关系...

    如何计算任意一天是星期几

    本文将深入解析一个实用的方法,帮助我们准确地计算出任意指定日期是星期几。 #### 核心公式与原理 计算任意一天是星期几的基本公式可以概括为:世纪 + 年 + 月 + 日 = 星期几。这里的世纪、年、月和日分别通过...

    java根据日期计算年龄和星期

    获取指定日期是星期几可以通过`Calendar`类来实现。下面是一个示例代码: ```java Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_MONTH, 16); // 设置日期 calendar.set(Calendar....

    VB 查询日期 星期

    接下来,我们用到的Weekday函数,它可以返回一个整数,代表指定日期是一周中的哪一天。Weekday函数的语法是: ```vb Weekday(date[, firstDayOfWeek]) ``` 其中,`date`是你要查询的日期,`firstDayOfWeek`是可选...

    Access DLC日期时间篇教程

    3. **WeekdayName和Weekday函数**:`WeekdayName`用于返回指定日期的星期几名称,而`Weekday`函数返回日期对应的星期几的数值。结合使用,我们可以找出指定日期是星期几。 4. **循环遍历月份**:在VBA中,可以使用`...

    mysql 日期函数相关操作

    `DAYNAME()`和`MONTHNAME()`函数分别返回指定日期是星期几以及所属月份的全名。 示例: ```sql SELECT DAYNAME("1998-02-05"), MONTHNAME("1998-02-05"); ``` 返回值分别为`'Thursday'`和`'February'`。 ### 8. `...

    php返回当前日期或者指定日期是周几

    在PHP中,处理日期和时间是常见的需求之一,尤其是需要获取当前日期或者指定日期对应的星期几。PHP提供了多种日期函数来满足此类需求,使得操作既简单又直接。 首先,我们可以使用`date()`函数来获取当前日期和时间...

    判断闰年和星期几的小代码,很简洁

    ### 计算指定日期是星期几的方法 #### 1. Zeller's Congruence算法简介 Zeller's Congruence算法是一种计算某一天是一周中的哪一天的公式。它最初由克里斯蒂安·蔡勒(Christian Zeller)于1887年提出。这种方法非常...

    C_实现的根据日期得到今天是星期几

    根据提供的文件信息,本文将详细解释如何在C#中实现基于日期计算出今天是星期几的功能。这包括了具体的算法公式、代码实现方法以及利用C#内置类进行日期操作的相关知识点。 ### 一、算法原理 为了计算一个给定日期...

    易语言取日期和星期

    在“取日期和星期”这个主题中,我们可以使用易语言中的“日期”和“星期”关键字,结合特定的函数,实现获取当前日期的星期几。 首先,易语言中的`系统日期`函数可以用来获取当前系统的日期,返回值为日期类型的...

    C语言万年历课程设计报告书.doc

    该程序可以满足多种功能需求,包括查询指定日期是星期几、显示指定年份的全部月历、显示指定月份的月历、判断指定年份是否为闰年、退出程序等。 本设计报告书详细介绍了该万年历系统的设计思路、功能模块设计、算法...

Global site tag (gtag.js) - Google Analytics