黑马程序员技术交流社区

标题: 基础测试题-09 [打印本页]

作者: sublimter    时间: 2014-9-11 17:33
标题: 基础测试题-09
/**
* 9、 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
* @author Administrator
*/
  1. package com.itheima;

  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStreamReader;
  5. import java.text.ParseException;
  6. import java.text.SimpleDateFormat;
  7. import java.util.Calendar;
  8. import java.util.Date;

  9. public class Test9 {

  10.         /**
  11.          * @param args
  12.          * @throws IOException
  13.          * @throws ParseException
  14.          */
  15.         public static void main(String[] args) throws IOException, ParseException {
  16.                 // TODO Auto-generated method stub
  17.                 //控制台输入
  18.                 System.out.println("其输入日期:");
  19.                 //获取输入的字符串
  20.                 String input = new BufferedReader(new InputStreamReader(System.in)).readLine();
  21.                
  22.                 System.out.println(getWeekDay(input));
  23.                 System.out.println(getDayofYear(input));
  24.         }
  25.        
  26.         /**
  27.          * 获取格式化后的日期/星期
  28.          */
  29.         public static String getWeekDay(String dateStr){
  30.                 //年月日
  31.                 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  32.                 //星期
  33.                 SimpleDateFormat weekFormat = new SimpleDateFormat("E");
  34.                 Date d = null;
  35.                 String weekDay = "";
  36.                 try {
  37.                         //把string转化为日期
  38.                         d = dateFormat.parse(dateStr);
  39.                         //提取出星期
  40.                         weekDay = weekFormat.format(d);
  41.                 } catch (ParseException e) {
  42.                         // TODO Auto-generated catch block
  43.                         e.printStackTrace();
  44.                 }
  45.                 String result = d + " " +weekDay;
  46.                 return result;
  47.         }
  48.         /**
  49.          * 得到在一年中的那一天
  50.          * @param dateStr
  51.          * @return
  52.          * @throws ParseException
  53.          */
  54.         public static int getDayofYear(String dateStr) throws ParseException{
  55.                 //年月日
  56.                 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
  57.                 Date date = dateFormat.parse(dateStr);               
  58.                 //使用日历类
  59.                 Calendar c = Calendar.getInstance();
  60.                 c.setTime(date);
  61.                 //得到这个日期在一年中的哪一天
  62.                 int result = c.get(Calendar.DAY_OF_YEAR);
  63.                 return result;
  64.         }

  65. }
复制代码









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2