国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

在Java中String和Date、Timestamp之間的轉換

2019-11-26 14:43:03
字體:
來源:轉載
供稿:網友

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

     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

   日期向字符串轉換,可以設置任意的轉換格式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互轉

  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...] 這樣的格式,中括號表示可選,否則報錯!!!

    如果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(); } 

 很容易能夠看出來,方法一的優勢在于可以靈活的設置字符串的形式。

三、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();      }  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~~~~

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

自己補的話,這樣的話:

        往數據庫存儲的時候可以接收 java.util.Date類型 再用getTime()方法得到代表那個Date對象的long值,再以這個long值 構造一個Timestamp對象 存進數據庫中。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟村| 历史| 定边县| 红桥区| 龙州县| 昌邑市| 双鸭山市| 托克逊县| 巫山县| 康定县| 区。| 都匀市| 达拉特旗| 龙口市| 新密市| 辽中县| 越西县| 海林市| 东阳市| 普宁市| 沭阳县| 昭觉县| 盐边县| 西畴县| 孟州市| 南涧| 侯马市| 光泽县| 如皋市| 曲阳县| 绵阳市| 清流县| 高台县| 枣庄市| 遂川县| 仲巴县| 邢台县| 金华市| 阿图什市| 蛟河市| 拜泉县|