算法提高 日期计算(Java)

问题描述

已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。

输入格式

输入只有一行
  YYYY MM DD

输出格式

输出只有一行
  W

数据规模和约定

1599 <= YYYY <= 2999
  1 <= MM <= 12
  1 <= DD <= 31,且确保测试样例中YYYY年MM月DD日是一个合理日期
  1 <= W <= 7,分别代表周一到周日

样例输入

2011 11 11

样例输出

5

代码如下:
import java.util.Calendar;
import java.util.Scanner;

public class 日期计算 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int YYYY = sc.nextInt();
		int MM = sc.nextInt();
		int DD = sc.nextInt();
		Calendar calendar = Calendar.getInstance();
		calendar.set(YYYY, MM - 1, DD);// 1月---12月(0---11)
		int t = calendar.get(Calendar.DAY_OF_WEEK);
		if (t == 1)// 星期日---星期一(1---7)
			System.out.println(7);
		else
			System.out.println(t - 1);
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
日期计算Java中通常使用java.util.Calendar类进行实现。通过该类,可以计算两个日期之间的天数、月数、年数等。下面是一些基本的日期计算方法: 1. 计算两个日期之间的天数 ```java Calendar cal1 = Calendar.getInstance(); cal1.set(2019, 8, 1); Calendar cal2 = Calendar.getInstance(); cal2.set(2019, 8, 10); long diff = cal2.getTimeInMillis() - cal1.getTimeInMillis(); long days = diff / (24 * 60 * 60 * 1000); System.out.println("Days between two dates: " + days); ``` 2. 计算两个日期之间的月数 ```java Calendar cal1 = Calendar.getInstance(); cal1.set(2019, 8, 1); Calendar cal2 = Calendar.getInstance(); cal2.set(2020, 3, 10); int months = (cal2.get(Calendar.YEAR) - cal1.get(Calendar.YEAR)) * 12 + cal2.get(Calendar.MONTH) - cal1.get(Calendar.MONTH); System.out.println("Months between two dates: " + months); ``` 3. 计算两个日期之间的年数 ```java Calendar cal1 = Calendar.getInstance(); cal1.set(2019, 8, 1); Calendar cal2 = Calendar.getInstance(); cal2.set(2021, 8, 1); int years = cal2.get(Calendar.YEAR) - cal1.get(Calendar.YEAR); System.out.println("Years between two dates: " + years); ``` 4. 计算某个日期加上一定天数后的日期 ```java Calendar cal = Calendar.getInstance(); cal.set(2019, 8, 1); int daysToAdd = 10; cal.add(Calendar.DAY_OF_MONTH, daysToAdd); Date newDate = cal.getTime(); System.out.println("New date: " + newDate); ``` 5. 计算某个日期减去一定天数后的日期 ```java Calendar cal = Calendar.getInstance(); cal.set(2019, 8, 11); int daysToSubtract = 10; cal.add(Calendar.DAY_OF_MONTH, -daysToSubtract); Date newDate = cal.getTime(); System.out.println("New date: " + newDate); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值