zoukankan      html  css  js  c++  java
  • Day12_常用类

    Day12_常用类

    Date类

    java.sql.Date:表示到年月日

    java.util.Date:表示到年月日时分秒

    import java.util.Date;
    
    public class Demo03 {
        public static void main(String[] args) {
            Date d = new Date();
            System.out.println(d.getTime());
            System.out.println(System.currentTimeMillis());//常用,原因:不用创建对象,直接调用
            //通过时间戳直接初始化java.sql.Date对象
            java.sql.Date sqlDate= new java.sql.Date(1596611974007L);
            System.out.println(sqlDate);
            //String----->java.sql.Date
            java.sql.Date valueOf = java.sql.Date.valueOf("2020-8-5");
            System.out.println(valueOf);
    
            //java.util.Date----->java.sql.Date
            java.sql.Date sqlDate2=new java.sql.Date(new Date().getTime());
    
            //java.sql.Date----->java.util.Date
            Date date = sqlDate2;//java.sql.Date类是java.util.Date的子类。子类直接转化成父类
    
            //java.sql包下的类:
            java.sql.Time time=new java.sql.Time(1596611974007L);
            System.out.println(time.toGMTString());//toGMTString()已过时,实际编程中不建议用
            //时间戳更精确
            java.sql.Timestamp ts = new java.sql.Timestamp(1596611974007L);
            System.out.println(ts);
    
    
        }
    }
    

    输出:

    1596612952197
    1596612952197
    2020-08-05
    2020-08-05
    5 Aug 2020 07:19:34 GMT
    2020-08-05 15:19:34.007
    

    String类与Date类的相互转化

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Demo04 {
        public static void main(String[] args) {
            //日期格式类,DateFormat类是抽象类,不能直接创建对象,创建他的实
          用类
            DateFormat df= new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
            try {
                //String--->Date
                Date d = df.parse("2020-8-5 15-53-56");
                System.out.println(d);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            //Date--->String
            String str=df.format(new Date());
            System.out.println(str);
        }
    }
    

    输出:

    Wed Aug 05 15:53:56 CST 2020
    2020-08-05 03-57-05
    

    Calendar类

    Calendar类很强大,但是用的少!

    import java.util.Calendar;
    import java.util.Date;
    
    public class Demo05 {
        public static void main(String[] args) {
            //Calendar类是抽象类,通过调用其方法来获取实例
            Calendar cal=Calendar.getInstance();
            //查询
            System.out.println(cal.get(Calendar.DATE));
            System.out.println(cal.get(Calendar.MONTH));
            System.out.println(cal.get(Calendar.YEAR));
            //设置
            cal.set(Calendar.YEAR,2050);
            System.out.println(cal.get(Calendar.YEAR));
    
            //String--->Calendar
            //String--->Date
            String str="2050-2-5";
            Date valueOf=java.sql.Date.valueOf(str);
            //Date--->Calendar
            cal.setTime(valueOf);
            System.out.println(cal.get(Calendar.YEAR));
            System.out.println(cal.get(Calendar.MONTH));
            System.out.println(cal.get(Calendar.DATE));
        }
    }
    

    输出:

    //当前日期:2020-8-5
    5
    7//月份从0开始计算
    2020
    2050
    2050
    1//月份从0开始计算
    5
    

    可以查询日期的日历(小练习)

    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.Scanner;
    
    public class calendar {
        public static void main(String[] args) {
            System.out.print("请输入您想要查看的日期--(格式例如:2020-8-5):");
            Scanner sc = new Scanner(System.in);
            String str=sc.next();
    
            //String--->Calendar
            Date valueOf= java.sql.Date.valueOf(str);
            Calendar cal= new GregorianCalendar();
            cal.setTime(valueOf);
            //输出日历头
            System.out.println("日	一	二	三	四	五	六");
            //获取该月的天数
            int maxDay=cal.getActualMaximum(Calendar.DATE);
            //获取输入的天数
            int today=cal.get(Calendar.DATE);
            //将cal对象设置为该月的第一天
            cal.set(Calendar.DATE,1);
            //获取该月第一天是星期几
            int dayOfWeek= cal.get(Calendar.DAY_OF_WEEK);
            //在第一天前输出空格
            for (int i = 0; i < dayOfWeek-1; i++) {
                System.out.print("	");
            }
            //计算输出的天数,以便按星期换行
            int count=0;
            count=count+dayOfWeek-1;
            for (int i = 0; i < maxDay; i++) {
                if(i!=today-1) {
                    System.out.print(i + 1 + "	");
                    count++;
                }else{
                    //标记输入的日期
                    System.out.print(i + 1 + "*	");
                    count++;
                }
                //换行
                if(count%7==0){
                    System.out.println();
                }
            }
        }
    }
    

    输出:(查询2030-3-4,由于markdown的编辑,出现乱码)

    请输入您想要查看的日期--(格式例如:2020-8-5):2030-3-4
    日	一	二	三	四	五	六
    					1	2	
    3	4*	5	6	7	8	9	
    10	11	12	13	14	15	16	
    17	18	19	20	21	22	23	
    24	25	26	27	28	29	30	
    31	
    

    枚举

    枚举与switch结合应用:

    1. switch()放: int char byte String 枚举
    2. case后面只能是枚举下的实例
    3. 什么情况下使用枚举?值固定的时候

    不能创建对象的四种情况:

    1. 是接口

    2. 抽象类

    3. 没有空构造器

    4. 构造器的用private修饰,只能在本类中创建

      此时可以通过类名.方法名,类名.属性名来访问方法和属性

  • 相关阅读:
    战火魔兽CJQ圣印问题
    sublime插件总汇
    js引用类型
    一、vue的数据双向绑定的实现
    渲染机制
    帆布指纹识别
    call、apply与bind在理解
    webpack的世界
    line-height与vertical-align
    'abc' 转换成[a, b, c]一道面试题的思考
  • 原文地址:https://www.cnblogs.com/gaoyao/p/13442658.html
Copyright © 2011-2022 走看看