java关于日期的类

一、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)的双精度随机数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值