Java-【大数处理】和【日期类】

【大数类】

image

BigInteger(整数) 和 BigDecimal(小数) 都是Java针对大数提供的类

常用方法:
(1)加:add
(2)减:subtract
(3)乘:multiply
(4)除:divide

image

image
图片来源:java大数运算(讲解)

image
当使用 BigDecimal 的divide方法时,如果除不尽,会抛出异常,这时可以使用如图方法,作用是保留与调用方法的大数一样的小数精度

image
教程教的已弃用了。
image

image


【日期类】

image

第一代日期类:Date

在Java中,日期时间用java.util.Date来表示,调用默认构造器Data(),将会创建一个当前系统时间的Date对象,时间精确到毫秒

它允许进行格式化(日期->文本)、解析(文本->日期)和规范化

常用方法:

(1)Date():分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。它的默认输出格式是:Wed Sep 29 19:55:10 CST 2021 ,CST是时区缩写,我们是中国时区China's Time zone 或 中国标准时间China Standard Time

(2)Date(long date):分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。

(2)SimpleDateFormat:格式和解析日期的类。

SimpleDateFormat类的使用:
image

第二代日期类:Calendar类

  1. Calendar类是一个抽象类
    image

  2. Calendar类的构造器是私有的,可以通过getInstance()来获取实例。

  3. 提供大量的方法和字段提供给程序员

  4. Calendar类没有提供相应的格式化的类,因此需要程序员自己组合输出。

  5. 24小时进制的小时字段是:Calendar.HOUR_OF_DAY; 它的月份字段是从0开始的,而不是1月

第三代日期类:LocalDate(日期/年月日),LocalTime(时间/时分秒),LocalDateTime(日期时间) JDK8加入

DateTimeFormatter格式日期类:类似于SimpleDateFormat

    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("YYYY-MM-dd HH:mm:SS");
    String format = dateTimeFormatter.format(ldt); //ldt为LocalDateTime对象
    System.out.println(format);

image

image

posted @ 2021-10-07 14:14  Wiiiimp  阅读(107)  评论(0编辑  收藏  举报