输入日期,查看是该年的第几天

代码如下:

/*
 * 分析以下需求,并用代码实现:
	(1)通过键盘录入日期字符串,格式(2015-10-20)
	(2)输出该日期是星期几及这一年的第几天
	(3)如输入:2015-10-20,输出"2015年-10月-20日 是 星期二,是  2015年的第 293 天"
 * */

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class Work {
	public static void main(String[] args) throws ParseException {
		Scanner input = new Scanner(System.in);
		System.out.println("请输入一个日期,格式为:2000-01-01");
		String str = input.nextLine();
		Date date = new Date();
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
		date = df.parse(str);
		Calendar cd = Calendar.getInstance();
		cd.setTime(date);
		int week = cd.get(Calendar.DAY_OF_WEEK);
		String str2 = chineseWeek(week);
		int year = cd.get(Calendar.YEAR);
		int month = cd.get(Calendar.MONTH) + 1;
		int day = cd.get(Calendar.DAY_OF_MONTH);
		long num = cd.getTimeInMillis();
		//System.out.println(num);
		cd.set(year,0,0);
		long num1 = cd.getTimeInMillis();
		//System.out.println(num1);
		long num2 = (num - num1) / 1000 / 60 / 60 / 24;
		System.out.println(year + "年-" + month + "月-" + day + "日  是" 
				           + str2 + ",是" + year + "年的第" + num2 + "天");
		
		
		
	}

	private static String chineseWeek(int week) {
		String[] str = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
		return str[week - 1];
	}
}

版权声明:本文为weixin_41590998原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。