Date类
使用Date类代表当前系统时间
Date d = new Date();
Date d = new Date(long d);
Calendar类
Canlendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可。
Calendar c1 = Calendar.getInstance();
c1.get(Calendar.YEAR);
SimpleDateFormat 日期格式化类
● 构造方法
SimpleDateFormat(格式); // yyyy-MM-dd
● 日期转字符串
Date now=new Date();
myFmt.format(now);
● 字符串转日期
myFmt.parse(“2018-02-10”);
字符串日期格式与 指定格式必须一致
例如:String s = “2018-03-15”;
new SimpleDateFormat(“yyyy-MM-dd”)
BigInteger
● 在 Java 中,有许多数字处理的类,比如 Integer类,但是Integer类有一定的局限性。
● 我们都知道 Integer 是 Int 的包装类,int 的最大值为 2^31-1。若希望描述更大的整数数据时,使用Integer 数据类型就无法实现了,所以Java中提供了BigInteger 类。
● BigInteger类型的数字范围较Integer,Long类型的数字范围要大得多,它支持任意精度的整数,也就是说在运算中 BigInteger 类型可以准确地表示任何大小的整数而不会丢失任何信息。
● BigInteger类位于java.math包中
● 构造方法
BigInteger(String val) /BigInteger(byte[] val) ...
基本运算方法
add(),subtract(),multiply(),divide()
BigDecimal
● 在计算机中不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。
● 根本原因是:十进制值通常没有完全相同的二进制表示形式;十进制数的二进制表示形式可能不精确。只能无限接近于那个值.
double a = 1.0-0.9;
double b = 0.8-0.7;
System.out.println(a==b); // 结果?
• 但是,在项目中,我们不可能让这种情况出现,特别是金融项目,因为涉及金额的计算都必须十分精确,你想想,如果你的支付宝账户余额显193.99999999999998,那是一种怎么样的体验?
• Java在java.math包中提供的API类BigDecimal
• 构造方法
BigDecimal(String val)
基本运算方法
add(),subtract(),multiply(),divide()