最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在Java中String和Date、Timestamp之間的轉(zhuǎn)換

 更新時(shí)間:2015年12月29日 14:19:30   作者:Matrix54  
這篇文章主要介紹了在Java中String和Date、Timestamp之間的轉(zhuǎn)換 的相關(guān)資料,需要的朋友可以參考下

一、String與Date(java.util.Date)互轉(zhuǎn)

     1.1 String -> Date

String dateStr = "http:// ::";  
    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();  
    } 
 String dateStr = "2010/05/04 12: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

   日期向字符串轉(zhuǎn)換,可以設(shè)置任意的轉(zhuǎn)換格式format

String dateStr = "";  
   Date date = new Date();  
   //format的格式可以任意  
    DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");  
   DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");  
    try {  
      dateStr = sdf.format(date);  
     System.out.println(dateStr);  
      dateStr = sdf.format(date);  
      System.out.println(dateStr);  
    } catch (Exception e) {  
      e.printStackTrace();  
    } 
 String dateStr = "";
 Date date = new Date();
 //format的格式可以任意
 DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 DateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH/mm/ss");
 try {
  dateStr = sdf.format(date);
  System.out.println(dateStr);
  dateStr = sdf2.format(date);
  System.out.println(dateStr);
 } catch (Exception e) {
  e.printStackTrace();
 } 

 二、String與Timestamp互轉(zhuǎn)

  2.1 String ->Timestamp

   使用Timestamp的valueOf()方法

Timestamp ts = new Timestamp(System.currentTimeMillis());  
    String tsStr = "-- ::";  
     try {  
       ts = Timestamp.valueOf(tsStr);  
       System.out.println(ts);  
    } catch (Exception e) {  
      e.printStackTrace();  
    } 
 Timestamp ts = new Timestamp(System.currentTimeMillis());
 String tsStr = "2011-05-09 11:49:45";
 try {
  ts = Timestamp.valueOf(tsStr);
  System.out.println(ts);
 } catch (Exception e) {
  e.printStackTrace();
 } 

   注:String的類型必須形如: yyyy-mm-dd hh:mm:ss[.f...] 這樣的格式,中括號(hào)表示可選,否則報(bào)錯(cuò)?。?!

    如果String為其他格式,可考慮重新解析下字符串,再重組~~

    2.2 Timestamp -> String

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

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

 很容易能夠看出來(lái),方法一的優(yōu)勢(shì)在于可以靈活的設(shè)置字符串的形式。

三、Date( java.util.Date )和Timestamp互轉(zhuǎn)

  聲明:查API可知,Date和Timesta是父子類關(guān)系

  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();  
    } 
 Timestamp ts = new Timestamp(System.currentTimeMillis());
 Date date = new Date();
 try {
  date = ts;
  System.out.println(date);
 } catch (Exception e) {
  e.printStackTrace();
 }

 很簡(jiǎn)單,但是此刻date對(duì)象指向的實(shí)體卻是一個(gè)Timestamp,即date擁有Date類的方法,但被覆蓋的方法的執(zhí)行實(shí)體在Timestamp中。

   3.2 Date -> Timestamp

   父類不能直接向子類轉(zhuǎn)化,可借助中間的String~~~~

java.sql.Date 只存儲(chǔ)日期數(shù)據(jù)不存儲(chǔ)時(shí)間數(shù)據(jù)
// 會(huì)丟失時(shí)間數(shù)據(jù)
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
//可以這樣來(lái)處理
preparedStatement.setTimestamp(1, new java.sql.Timestamp(new java.util.Date().getTime()));
 //想要得到完整的數(shù)據(jù),包括日期和時(shí)間,可以這樣
java.util.Date d = resultSet.getTimestamp(1);
//這樣處理更合適一些,可以避免一些潛在Timestamp 問(wèn)題
java.util.Date d = new java.util.Date(resultSet.getTimestamp(1).getTime());

自己補(bǔ)的話,這樣的話:

        往數(shù)據(jù)庫(kù)存儲(chǔ)的時(shí)候可以接收 java.util.Date類型 再用getTime()方法得到代表那個(gè)Date對(duì)象的long值,再以這個(gè)long值 構(gòu)造一個(gè)Timestamp對(duì)象 存進(jìn)數(shù)據(jù)庫(kù)中。

       從存數(shù)據(jù)庫(kù)里取的時(shí)候,可以先得到Timestamp用他的getTime()方法得到long值,再以這個(gè)long值構(gòu)造一個(gè)java.util.Date對(duì)象,這樣就可以對(duì)這個(gè)Date對(duì)象操作了。不如說(shuō) new SimpleTimeFormat("yyyyy-MM-dd HH:mm:ss").format()等等

相關(guān)文章

  • springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南

    springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南

    這篇文章主要給大家介紹了關(guān)于springboot下mybatis-plus開(kāi)啟打印sql日志的配置指南的相關(guān)資料,還介紹了關(guān)閉打印的方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • java?啟動(dòng)參數(shù)?springboot?idea詳解

    java?啟動(dòng)參數(shù)?springboot?idea詳解

    這篇文章主要介紹了java?啟動(dòng)參數(shù)?springboot?idea的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • Java 分割字符串詳解及實(shí)例代碼

    Java 分割字符串詳解及實(shí)例代碼

    這篇文章主要介紹了 Java 分割字符串詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 記錄一次connection reset 錯(cuò)誤的解決全過(guò)程

    記錄一次connection reset 錯(cuò)誤的解決全過(guò)程

    這篇文章主要介紹了記錄一次connection reset 錯(cuò)誤的解決全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • spring boot入門開(kāi)始你的第一個(gè)應(yīng)用

    spring boot入門開(kāi)始你的第一個(gè)應(yīng)用

    這篇文章主要介紹了spring boot入門開(kāi)始你的第一個(gè)應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • Netty網(wǎng)絡(luò)編程實(shí)戰(zhàn)之開(kāi)發(fā)聊天室功能

    Netty網(wǎng)絡(luò)編程實(shí)戰(zhàn)之開(kāi)發(fā)聊天室功能

    這篇文章主要為大家詳細(xì)介紹了如何利用Netty實(shí)現(xiàn)聊天室功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Netty網(wǎng)絡(luò)編程有一定幫助,需要的可以參考一下
    2022-10-10
  • RocketMQ事務(wù)消息圖文示例講解

    RocketMQ事務(wù)消息圖文示例講解

    RocketMQ事務(wù)消息(Transactional Message)是指應(yīng)用本地事務(wù)和發(fā)送消息操作可以被定義到全局事務(wù)中,要么同時(shí)成功,要么同時(shí)失敗。RocketMQ的事務(wù)消息提供類似 X/Open XA 的分布式事務(wù)功能,通過(guò)事務(wù)消息能達(dá)到分布式事務(wù)的最終一致
    2022-12-12
  • java拋出異常與finally實(shí)例解析

    java拋出異常與finally實(shí)例解析

    這篇文章主要介紹了java拋出異常與finally實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Java性能優(yōu)化技巧匯總

    Java性能優(yōu)化技巧匯總

    這篇文章主要介紹了Java性能優(yōu)化技巧,匯總了提升java程序性能的常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Java線程同步實(shí)例分析

    Java線程同步實(shí)例分析

    這篇文章主要介紹了Java線程同步用法,實(shí)例分析了java中線程同步的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07

最新評(píng)論

马边| 绵竹市| 中卫市| 容城县| 安化县| 南充市| 墨竹工卡县| 鄄城县| 瓮安县| 保山市| 平利县| 辽阳县| 武安市| 临西县| 定边县| 昂仁县| 聂拉木县| 古蔺县| 会宁县| 北海市| 田林县| 当阳市| 安新县| 乐昌市| 灌阳县| 太谷县| 大田县| 武强县| 宝鸡市| 兰西县| 佛冈县| 嘉兴市| 遵义县| 客服| 永善县| 正蓝旗| 双牌县| 奎屯市| 临邑县| 庄河市| 屏南县|