黑马程序员技术交流社区

标题: 【南京校区】时间日期相关 [打印本页]

作者: 大蓝鲸Java    时间: 2019-5-10 12:03
标题: 【南京校区】时间日期相关
【南京校区】时间日期相关
SimpleDateFormat 简单格式化时间类       
                //此类用于大多数开发,即只要是把日期按照一定的格式给展示出来的情况。


"将日期类对象转成时间字符串"   //此方式在开发中运用较多

Date d = new Date();                                                        //获取当前时间对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//创建日期格式化类对象,"yyyy/MM/dd HH:mm:ss"是我们希望的日期出现格式
System.out.println(sdf.format(d));


"将时间字符串转换成日期对象"

String str = "2000年08月08日 08:08:08";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");//"yyyy/MM/dd HH:mm:ss"是我们传入的字符串日期格式
Date d = sdf.parse(str);                                                //将时间字符串转换成日期对象
System.out.println(d);





Calendar 类: 日历类
                //如果需要获取日期中的每一个字段,需要用到此类。

        public static Calendar getInstance()        //创建对象
        public int get(int field)                                //通过字段获取值,字段在API中Calendar类里面 字段以Calendar.XXX的形式传入


        public void add(int field,int amount)        //修改方法,可以为负,对指定的字段进行向前减或向后加
        public final void set(int year,int month,int date)        //设置时间
                        重载 void set(int field, int value) ://把指定的字段修改成指定的值



代码示例:
        "获得每一个字段来拼接成我们想要的日期格式"
                                        //但是如果只是想要获取我们想要的日期格式,在实际开发中是用SimpleDateFormat。除非想装逼。


                Calendar c = Calendar.getInstance();                        //父类引用指向子类对象
                //System.out.println(c);                                        会把所有的属性都打印出来,对我们没有用,我们只需要对应的属性里面的值就可以。
                System.out.println(c.get(Calendar.YEAR));                //通过字段获取年
                System.out.println(c.get(Calendar.MONTH));                //通过字段获取月,但是月是从0开始编号的
                System.out.println(c.get(Calendar.DAY_OF_MONTH));//月中的第几天
                System.out.println(c.get(Calendar.DAY_OF_WEEK));//周日是第一天,周六是最后一天
               
---------------------------------------------------------------------------------------------------------------------


        "对日期进行修改"

                Calendar c = Calendar.getInstance();                        //父类引用指向子类对象
                //c.add(Calendar.MONTH, -1);                                        //对指定的字段进行向前减或向后加
                //c.set(Calendar.YEAR, 2000);                                        //修改指定字段
                c.set(2000, 7, 8);
               
                System.out.println(c.get(Calendar.YEAR) + "年" + getNum((c.get(Calendar.MONTH)+1))
                                + "月" + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(c.get(Calendar.DAY_OF_WEEK)));
                       
-----------------------------------------------------------------------------------------------------------------------
       
        public static String getWeek(int week) { //查表法  //1-7
                String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
                        //因为日历类中的DAY_OF_WEEK,返回值 只有 1-7
                return arr[week];
        }
       

        /*
         * 如果是个数数字前面补0
         * 1,返回值类型String类型
         * 2,参数列表,int num
         */
        public static String getNum(int num) {
                return num > 9 ? "" + num : "0" + num;
        }
}






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