Java中的日期、随机类

1.日期工具类

(1)java.util.Date日期类

public static void main(String[] args) {
        //1.实例化 Date()对象
        Date a = new Date();
        //2022-12-25 15:31:23 星期日
        System.out.printf("%tF %<tT %<tA%n",a);

        //2.通过date获取时间戳
        long b =a.getTime();
        System.out.println(b);//1671953621273
        System.out.println(System.currentTimeMillis());//1671953621273

        //3.date 实力的常用办法
        int date = a.getDate();
        System.out.println(date);
        a.getYear();
        a.getMonth();
        a.getDate();
        a.getDate();
        a.getHours();
        a.getMinutes();
        a.getSeconds();
        a.setTime(0);
        System.out.printf("%tF %<tT %<tA %n",a);

        //java.util.Date 类的格式化类 SimpleDateFormat
        SimpleDateFormat c = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E");
        System.out.printf(c.format(new Date()));//2022年12月25日 15时44分30秒 周日
    }

(2)java.util.Calendar 日历类

public static void main(String[] args) {
        //实例化
        Calendar a = Calendar.getInstance();
        //1. get 获取 NI
        System.out.println(a.get(Calendar.YEAR));
        System.out.println(a.get(Calendar.MONTH)+1);
        System.out.println(a.get(Calendar.DATE));
        //12小时制
        System.out.println(a.get(Calendar.HOUR));
        //24小时制
        System.out.println(a.get(Calendar.HOUR_OF_DAY));
        System.out.println(a.get(Calendar.MINUTE));
        System.out.println(a.get(Calendar.SECOND));
        System.out.println(a.get(Calendar.MILLISECOND));

        //2. set 设置
        a.set(2000,4,22);
        System.out.printf("%tF %<tT%n",a);//2000-05-22 16:01:51

        //3. add 增加
        Calendar b = Calendar.getInstance();
        b.add(Calendar.DATE,-3);//当前日期减少三日
        System.out.printf("%tF %<tT%n",b);//2022-12-22 16:11:20

        Calendar c = Calendar.getInstance();
        c.add(Calendar.DATE,5);//当前日期增加五日
        System.out.printf("%tF %<tT%n",c);//2022-12-30 16:11:20
    }

(3) java.time.LocalDate

jdk1.8 新的日期API java.time.LocalDate类 java.util.Date Calendar 此类只有年月日

 public static void main(String[] args) {
        //实例化
        LocalDate a = LocalDate.now();
        System.out.println(a);
        //of 设置
        LocalDate b = LocalDate.of(2015,10,1);
        System.out.println(b);
        // plus加  今日三天后日期
        System.out.println(a.plusDays(3));
        //min减   今日三天前日期
        System.out.println(a.minusDays(3));
        //获取当日中文月份
        System.out.println(a.getMonth().getDisplayName(TextStyle.FULL, Locale.CHINESE));
        //获取当日中文星期几
        System.out.println(a.getDayOfWeek().getDisplayName(TextStyle.FULL,Locale.CHINESE));
        //计算两个日期的天数
        long day = (ChronoUnit.DAYS.between(b,a));
        System.out.printf("从%s 到 %s 有%d天%n",b,a,day);
    }

(4) jdk1.8 java.time.LocalTime

LocalTime 本地化时间 只有时分秒…没有日期

public static void main(String[] args) {

        //实例化
        LocalTime a = LocalTime.now();
        System.out.println(a);
        // of 设置
        LocalTime b = LocalTime.of(14,30,20);
        System.out.println(b);
        //格式化
        LocalTime c = LocalTime.parse("15:25:35", DateTimeFormatter.ofPattern("HH:mm:ss"));
        System.out.println(c);
    }

(5) dk1.8 java.time.LocalDateTime

此类包含了年月日时分秒 相关信息,相当于LocalDateTime = LocalDate + LocalTime 了 相当于以前的java.util.Date,也相当于java.util.Calendar类

 public static void main(String[] args) {
        //实例化
        LocalDateTime a = LocalDateTime.now();
        System.out.println(a);//2022-12-25T17:19:45.313140500
        //格式化输出
        System.out.println(a.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
        System.out.println(a.format(DateTimeFormatter.ofPattern("MM月dd日")));
        System.out.println(a.format(DateTimeFormatter.ofPattern("E")));
        System.out.println(a.getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA));
    }

2. 随机

(1) Math.random()方法

java.lang.Math package cn.abc; java.lang 包下的类,在编译程序时不 用import导入,可以直接使用

 public static void main(String[] args) {
        //java.lang.Math类年 random()方法是返回大于0 小于1的随机小数
        System.out.println(Math.random());

        //根据Math.random 写出1-5的整数
        for(int i = 1;i<10;i++)
        {
            long t = Math.round(Math.random() * 4) + 1; //1 - 5
            System.out.println(t);
        }
    }

(2) java.util.Random类

public static void main(String[] args) {
        //实例化
        Random rand = new Random();
        //用法 随机生成小数
        System.out.println(rand.nextBoolean());
        System.out.println(rand.nextDouble());
        System.out.println(rand.nextDouble(5));
        System.out.println(rand.nextDouble(5,10));
        // 随机生成 0-5的整数(不包括5)
        System.out.println(rand.nextInt(5));
    }

(3) UUID字符串

 public static void main(String[] args) {
            //uuid 唯一随机的字符串(36位)
        System.out.println(UUID.randomUUID());//307267b5-2dfa-4408-98f4-945e0a08a0b0
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值