java date与timestamp_Java中Date,Timestamp,相互转换与关系

一、String与Date java.util.Date 互转

1.1 String - Date

String dateStr    2019/03/04 15:34:23           Date date   new Date();          //注意format的格式要与日期String的格式相匹配          DateFormat sdf   new SimpleDateFormat( yyyy/MM/dd HH:mm:ss           try {              date   sdf.parse(dateStr);              System.out.println(date.toString());          } catch (Exception e) {              e.printStackTrace();          }

1.2 Date - String

日期向字符串转换 可以设置任意的转换格式format

String dateStr              Date date   new Date();              DateFormat sdf   new SimpleDateFormat( yyyy/MM/dd HH:mm:ss             try {              dateStr   sdf.format(date);              System.out.println(dateStr);                    } catch (Exception e) {              e.printStackTrace();          }

二、String与Timestamp互转

2.1 String - Timestamp

使用Timestamp的valueOf()方法

Timestamp ts   new Timestamp(System.currentTimeMillis());          String str    2019-03-09 14:49:45           try {              ts   Timestamp.valueOf(str);              System.out.println(ts);          } catch (Exception e) {              e.printStackTrace();          }

注 String的类型必须形如  yyyy-mm-dd hh:mm:ss[.f...] 这样的格式 中括号表示可选 否则报错

如果String为其他格式 可考虑重新解析下字符串 再重组~~

2.2 Timestamp - String

使用Timestamp的toString()方法或者借用DateFormat

Timestamp ts   new Timestamp(System.currentTimeMillis());          String str              DateFormat sdf   new SimpleDateFormat( yyyy/MM/dd HH:mm:ss           try {              //方法一             str   sdf.format(ts);              System.out.println(str);              //方法二              str   ts.toString();              System.out.println(str);          } catch (Exception e) {              e.printStackTrace();          }

很容易能够看出来 方法一的优势在于可以灵活的设置字符串的形式。

三、Date  java.util.Date  和Timestamp互转

声明 查API可知 Date和Timesta是父子类关系

3.1 Timestamp - Date

Timestamp ts   new Timestamp(System.currentTimeMillis());          Date date   new Date();          try {              date   ts;              System.out.println(date);          } catch (Exception e) {              e.printStackTrace();          }

很简单 但是此刻date对象指向的实体却是一个Timestamp 即date拥有Date类的方法 但被覆盖的方法的执行实体在Timestamp中。

3.2 Date - Timestamp

父类不能直接向子类转化 可借助中间的String~~~~

注 使用以下方式更简洁

Timestamp ts new Timestamp(date.getTime());

Date和TimeStamps这两种时间类型都有一个相同的构造方法 就是通过毫秒数来转成日期或者时间戳格式 如此看来就非常简单了.

注意在java中毫秒的类型为long; new Date(timestamp.getTime());  new Timestamp(date.getTime());

7ae65a949cf422c16a3786a91cf99bf5.png

7ae65a949cf422c16a3786a91cf99bf5.png

9f3e31538ca5b38a35668bc4b1d784f8.png 点赞

bd0eecd637630c8b0afc1852224b226f.png

3b8cd99cde1fa92289f0e70b1244a1dd.png 评论

责任编辑:xiaochao

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值