JDK8之前日期时间API
1. java.lang.System类
System类提供的public static long currentTimeMillis()用来返回当前时
间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
- 此方法适于计算时间差。
2. java.util.Date类
表示特定的瞬间,精确到毫秒
构造器:
- Date():使用无参构造器创建的对象可以获取本地当前时间。
- Date(long date)
常用方法
- getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象 表示的毫秒数。
- toString():把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中:
dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。
3. java.text.SimpleDateFormat类
4. java.util.Calendar(日历)类
JDK8中新日期时间API
LocalDate、LocalTime、LocalDateTime
格式化与解析日期或时间
Java比较器
自然排序:java.lang.Comparable
Comparable 的典型实现:(默认都是从小到大排列的)
- String:按照字符串中字符的Unicode值进行比较
- Character:按照字符的Unicode值来进行比较
- 数值类型对应的包装类以及BigInteger、BigDecimal:按照它们对应的数值 大小进行比较
- Boolean:true 对应的包装类实例大于 false 对应的包装类实例
- Date、Time等:后面的日期时间比前面的日期时间大
定制排序:java.util.Comparator
Math类
java.lang.Math提供了一系列静态方法用于科学计算。其方法的参数和返回
值类型一般为double型。
abs 绝对值
acos,asin,atan,cos,sin,tan 三角函数
sqrt 平方根
pow(double a,doble b) a的b次幂
log 自然对数
exp e为底指数
max(double a,double b)
min(double a,double b)
random() 返回0.0到1.0的随机数
long round(double a) double型数据a转换为long型(四舍五入)
toDegrees(double angrad) 弧度—>角度
toRadians(double angdeg) 角度—>弧度
BigInteger与BigDecimal
BigInteger类
BigDecimal类
-
一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。
-
BigDecimal类支持不可变的、任意精度的有符号十进制定点数。
-
构造器
-
public BigDecimal(double val)
-
public BigDecimal(String val)
常用方法
- public BigDecimal add(BigDecimal augend) - public BigDecimal subtract(BigDecimal subtrahend) - public BigDecimal multiply(BigDecimal multiplicand) - public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
-