本帖最后由 七宝 于 2013-8-16 00:33 编辑
我们都知道,Data类中的很多方法都过时了,从而出来了个新日历类Calendar,当时有时候发现,Calendar中的功能也无法全部取代Data中的,如果要用到Data的话,那么所用到的方法又过时了,虽然能解决问题,但总觉得美中不足,不知道是不是自己水平不够,求大神指导,上次做的一个题目
- <P> /**
- *
- * 编写程序,该程序启动后用户可以按“”的格式输入一个日期,程序计算这一天是星期几,并且计算出是一年中的第几天。
- *
- * */
- public class Test9 {
- public static void main(String[] args) throws ParseException {
- //按格式输入日期赋值给字符串in_date
- System.out.println("请按格式为yyyy-MM-dd输入一个日期");
- Scanner s = new Scanner(System.in);
- String in_date=s.nextLine();
- //创建格式器将字符串转成日期
- DateFormat df = DateFormat.getDateInstance();
- Date d = df.parse(in_date);
- //获取并输入星期
- String week = getWeeks(d.getDay());//日期获取方法过时------------------------------------------------------------------------过时方法
- System.out.println("今天是: "+week);
- //获取本年一月一日的字符串并转成日期对象
- int year=d.getYear()+1900;//日期获取年的方法过时----------------------------------------------------------------------------过时方法
- String toYear=year+"-01-01";
- Date d1=df.parse(toYear);
- //今天与今年一月一号相间隔的时间
- long time=Math.abs(d1.getTime()-d.getTime());
- //间隔的天数
- int day = getDay(time)+1;
- System.out.println("今天是今年的第: "+day+" 天");
- }</P>
- <P>private static int getDay(long time) {
- //创建获取间隔天数的方法
- int day = (int)(time/1000/60/60/24);
- return day;
- }</P>
- <P>private static String getWeeks(int day) {
- //创建方法 将星期数与星期相对应起来
- String[] weeks={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
- return weeks[day];
- }
- }</P>
复制代码 这里是通过键盘输入了一个日期类型 输入的是字符串 然后转成Data 要获取输入输入的年 ,星期,如果用Calendar,怎么转换,怎么做?
|