黑马程序员技术交流社区

标题: Calendar类的一道题目 [打印本页]

作者: 敲敲乐z    时间: 2016-8-8 22:25
标题: Calendar类的一道题目
(1)通过键盘录入日期字符串,格式(xxxx-xx-xx)
(2)定义方法获取该日期的前一天
(3)定义方法获取该日期的上个月份
(4)定义方法获取该日期的所在月份的第一天
(5)定义方法获取该日期的所在月份的最后一天
作者: 愿望变美    时间: 2016-8-9 21:10
写的不好,仅供交流参考。另外所在月份的第一天不都是1号吗
[Java] 纯文本查看 复制代码
/**
         * @param args
         * @throws ParseException
         *
         */
        public static void main(String[] args) throws ParseException{
                Scanner sc = new Scanner(System.in);
                System.out.println("请按格式输入:yyyy-MM-dd");
               
                String s = sc.nextLine();
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                Date d = new Date();
                try{
                        d = sdf.parse(s);
                } catch (ParseException e) {
                        System.out.println("请按格式输入,错误:" + e.toString() );
                        //e.printStackTrace();
                }
                long time = d.getTime();
                getlastday(time);
                getlastmon(time);
                getlastdayofmon(time);
               
        }

        private static void getlastdayofmon(long time) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                Calendar c = Calendar.getInstance();
                Date d = new Date(time);
                c.setTime(d);
                c.add(Calendar.MONTH, 1);
                c.set(Calendar.DATE, 1);
                c.add(Calendar.DATE, -1);
                System.out.println(sdf.format(c.getTime()));
        }

        private static void getlastmon(long time) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                Calendar c = Calendar.getInstance();
                Date d = new Date(time);
                c.setTime(d);
                c.add(Calendar.MONTH, -1);
                System.out.println(sdf.format(c.getTime()));
        }

        private static void getlastday(long time) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                Date d = new Date(time);
                Calendar c = Calendar.getInstance();
                c.setTime(d);
                c.add(Calendar.DATE, -1);
                System.out.println(sdf.format(c.getTime()));
        }





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