java常用API

 JDK7之前的date类

 

SimpleDateFormat 

 public final String format(Date date)       格式化(日期对象->字符串)
 private static void Method() {
        //1.利用空参构造创建SimpleDateFormat对象,默认格式
        SimpleDateFormat sdf1 = new SimpleDateFormat();
        Date d1 =new Date(1000000L);
        String str1 = sdf1.format(d1);
        System.out.println(str1);//70-1-1 上午8:16

        //利用带参构造
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date d2 =new Date(1000000L);
        String str2 = sdf2.format(d2);
        System.out.println(str2);

        //课堂练习:  yyyy年MM月dd日  时:分:秒  星期
        SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 aaHH时mm分ss秒 EE");
        Date d3 =new Date(1669091000000L);
        String str3 = sdf3.format(d3);
        System.out.println(str3);
    }
public date parse(String source)            解析(字符串->日期对象)
   //1.定义一个时间串表示时间
        String str = "2022-10-31 22:03:25";
        //2.利用空参构造方法创建SimpleDateFormat对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse(str);
        System.out.println("打印结果");
        System.out.println(date.getTime());//1667225005000

  public static void main(String[] args) {
        /*
         *   publuc static Calendar getInstance()    获取当前时间的日历对象
         *
         *   public final Date getTime()             获取日期对象
         *   public final setTime(Date date)         给日历设置日期对象
         *
         *
         * */

        //1.获取日历对象
        // 细节:Calendar是一个抽象类,不能直接new,而是通过一个静态方法获取到子类对象
        // 底层原理:会根据系统的不同时区获取不同的日历对象,默认表示当前时间
        // 会把时间中的纪元 年 月 日 时 分 秒 星期 等等  放在一个数组中
        Calendar c = Calendar.getInstance();
        System.out.printf(String.valueOf(c));

        //修改日历代表的时间
        Date d = new Date(0L);
        c.setTime(d);
        System.out.println(c);

        /*
         *   public int get(int field)                   取日期中某个字段信息
         *   public void set(int field,int value )       修改日历的某个字段信息
         *   public void add(int field,int amount)       为某个字段添加/减少制定的值
         * */


        c.set(Calendar.YEAR,2000);// set 修改
        c.set(Calendar.MONTH,10);  //表示12月
        c.set(Calendar.DAY_OF_MONTH,10);

        //调用方法在这个基础上增加一个  传递负数 表示往前减一个月
        c.add(Calendar.MONTH,1);

        //java 在Calendar类中,将索引对应的数字都定义为了常量
        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1; // month 是从0开始的,后面+1对应真实月份
        int date = c.get(Calendar.DATE);
        int week = c.get(Calendar.DAY_OF_WEEK);

        System.out.println(year + ", " + month + ", " + date + ", " + getWeek(week));  //1970 1 1 5



    }


    //  传入对应的数字  1~7
    // 返回对应的星期几
    // 查表法!!!
    public static String getWeek(int num) {
        //有点麻烦
//        switch (num) {
//            case 1:
//                return "星期日";
//            case 2:
//                return "星期一";
//            case 3:
//                return "星期二";
//            case 4:
//                return "星期三";
//            case 5:
//                return "星期四";
//            case 6:
//                return "星期五";
//            case 7:
//                return "星期六";
//            default:
//                return "输入错误";
//        }
        String arr[]={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        return arr[num];
    }

JDK 8 date类

 

 细节:JDK8新增的时间对象是不可变的,如果我们修改了,增加或减少了时间,那么调用者是不会发生改变的,而是产生一个新的手机对象

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值