IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Day20.常用类:Date类、number类、枚举 -> 正文阅读

[Java知识库]Day20.常用类:Date类、number类、枚举

?日期类(Date)

构造方法

Date()
??????????分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
  • 新建一个日期类;
        Date nowTime = new Date();
        System.out.println(nowTime);    //Fri Dec 31 15:28:40 CST 2021

日期格式化(SimpleDateFormat)

当我们对输出格式有要求时,会用到SimpleDateFormat这个类

SimpleDateFormat是java.text包下的,专门负责日期格式化的。 yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒 SSS 毫秒 在日期格式中,除了y M d H m s S这些字符不能随意写之外,剩下的符号自己随意组织

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        //SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        //SimpleDateFormat sdf = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

        String nowTimeStr = sdf.format(nowTime);
        System.out.println(nowTimeStr);

?

String ---> Date;

        //假设现在有一个日期字符串String,如何切换成Date类型?
        String time = "2008-08-08 08:08:08 888";
        //注:字符串日期格式要和SimpleDateFormat格式相同 否则异常:ParseException
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        Date dateTime = sdf2.parse(time);
        System.out.println(dateTime);   //Fri Aug 08 08:08:08 CST 2008

时间戳 (currentTimeMillis方法)

currentTimeMillis,System类包下的方法

  • 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数
        long s = System.currentTimeMillis();
        System.out.println(s);//1640939183355
  • ?获取昨天此时的时间
    public static void main(String[] args) {
        //这个时间是什么时间?
        //1970-01-01 00:00:00 001
        Date time = new Date(1); //参数是一个毫秒

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String strTime = sdf.format(time);
        //北京是东8区
        System.out.println(strTime);    //1970-01-01 08:00:00 001

        ------------------------------------------------------------

        //获取昨天的此时的时间
        Date time2 = new Date(System.currentTimeMillis() - 1000*60*60*24);
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
        String strTime2 = sdf.format(time2);
        //北京是东8区
        System.out.println(strTime2);    //2021-12-30 16:50:47 679
    }
    public static void main(String[] args){

        //需求:统计一个方法执行所耗费的时长
        //在调用目标方法前记录一个毫秒数
        long begin = System.currentTimeMillis();
        print();
        //在调用目标方法后记录一个毫秒数
        long end = System.currentTimeMillis();
        System.out.println("耗费时长 = "+(end-begin));  //耗费时长 = 31
    }
    public static void print(){
        for (int i = 0; i < 1000; i++) {
            System.out.println("i = "+i);        //打印增加了时长
        }
    }
  • 简单总结System方法

数字格式化(DecimalFormat)

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。帮你用最快的速度将数字格式化为你需要的样子。

        //表示,千分位,保留2个小数
        DecimalFormat df = new DecimalFormat("###,###.##");
        String s = df.format(1234.567);
        System.out.println(s);       //1,234.56
        //不够位数补0
        DecimalFormat df2 = new DecimalFormat("###,###.0000");
        String s2 = df2.format(1234.56);
        System.out.println(s2);     //1,234.5600

?(BigDecimal)

        /*
        1.BigDecimal 属于大数据,精度极高,不属于基本数据类型,属于Java对象(引用数据类型)
        这是SUN提供的一个类,专门在财务软件中使用
        2.注意:财务软件double是不够的。
         */
        //精度级高的100
        BigDecimal v1 = new BigDecimal(100);
        BigDecimal v2 = new BigDecimal(200);
        //求和
        BigDecimal v3 = v1.add(v2); //300
        //除法
        BigDecimal v4 = v2.divide(v1); //2

随机数(Random)

        //创建随机数对象
        Random random = new Random();
        //随机产生一个int类型取值范围内的数字。
        int num1 = random.nextInt();
        System.out.println(num1);   //-228851400

        //产生[0 - 100]之间的随机数,不包括101
        random.nextInt(101);

? ? ?小测试:生成5个不重复的随机数,放到数组中

    public static void main(String[] args) {
        //生成5个不重复的随机数,放到数组中
        Random random = new Random();

        int[] a = new int[5];
        int index = 0;
        while(index < a.length){
            int r = random.nextInt(6);
            if(panDuan(a,r)){
                a[index++] = r;
            }
        }
        System.out.println(Arrays.toString(a));
    }
    //判断数组是否含有该数方法
    public static boolean panDuan(int []a,int r){
        for (int i = 0; i < a.length; i++) {
            if(r == a[i]){
                return false;
            }
        }
        return true;
    }

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-01 13:44:53  更:2022-01-01 13:45:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:51:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码