一、SimpleDateFormat 类:
- SimpleDateFormat 类是DateFormat 类的子类,它允许格式化 (date -> text)、语法分析 (text -> date)和标准化,将一种日期格式变为另外一种日期格式。
- public SimpleDateFormat(String pattern)//构造方法,在构造对象时要传入日期格式模板
- public Date parse(String source)throws ParseException//转换 //-->此时取得的是全部时间数。
- public final String Format(Date date) //格式化 //-->将时间重新格式化成字符串显示。
二、java.util.Date 和 java.sql.Date、Time、Timestamp
①其他地方:java.util.Date
DAO层:java.sql.Date、Time、Timestamp
数据库类型:Date(显示年、月、日)、Time(显示时、分、秒)、DateTime/Timestamp(包括年月日,时分秒,还有毫秒和纳秒)
②java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用,PreparedStament的setDate()的参数和ResultSet的getDate()方法的都是java.sql.Date
③java.util.Date:
public Date()用系统日期时间数据创建Date对象
public Date(long date)date表示从1970开始到该日期的微秒数
public long getTime()返回从1970.1.1零时开始到目前的微秒数
boolean after / before (Date when)日期比较
④将java.util.Date转化成java.sql.Date、Time、Timestamp:
把util的Date转换成毫秒值:getTime()方法
使用毫秒值来创建sql下的Date、Time、Timestamp:相应的构造函数
举例:
⒈new java.sql.Date(new java.util.Date().getTime())
⒉SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date=format.parse("1997-02-11");
new java.sql.Date(date().getTime())
⑤将java.sql.Date、Time、Timestamp转化成java.util.Date
因为java.util下的Date是java.sql下的Date、Time、Timestamp的父类,所以可以直接引用。
三、Calendar类
- static Calendar getInstance()获取Calendar对象
- final Date getTime()由Calendar对象创建Date对象
- Calendar setTime(Date date)将 Date 对象反应到一个 Calendar 对象中
- long getTimeInMillis()返回从1970开始的微秒数
- void setTimeInMillis(long millis)设置对象日期
- int get(int field)返回对象属性field的值
- void set(int field, int value)设置对象属性field的值为value
四、获得系统当前时间
- System.currentTimeMillis()产生一个当前的毫秒,这个毫秒是自1970年1月1日0时起到当前的毫秒数。
- System.nanoTime()是从某个不确定的时间起(同一个的虚拟机上起始时间是固定的),到当前的时间差,它精确到纳秒
- Date() , Calendar.getInstance()
五、Math类:
- static double random()返回取值在[0.0, 1.0)区间的随机数
- 可以对得到的区间做 *、+、-、%运算
六、Random类:
- Random()用系统时间作为种子创建Random对象
- Random(long seed)用seed作为种子创建Random对象
- int nextInt()返回一个整型随机数
- int nextInt(int n)返回[0,n)的整型随机数
- long nextLong()返回一个长整型随机数
- float nextFloat()返回一个[0.0, 1.0)的单精度随机数
- double nextDouble()返回一个[0.0, 1.0)的双精度随机数