一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - 在Java中String和Date、Timestamp之間的轉換

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

2020-03-19 12:55Matrix54 JAVA教程

這篇文章主要介紹了在Java中String和Date、Timestamp之間的轉換 的相關資料,需要的朋友可以參考下

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

     1.1 String -> Date

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
String dateStr = "// ::"
    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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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()方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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~~~~

?
1
2
3
4
5
6
7
8
9
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()等等

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产福利在线免费观看 | 99在线在线视频免费视频观看 | 久草草在线视视频 | 精品欧美一区二区三区在线观看 | pron欧美| 啊啊啊好大视频 | 免费我看视频在线观看 | 久久中文字幕亚洲精品最新 | 999精品视频在线观看 | 91麻豆国产福利精品 | 欧美国产日韩1区俺去了 | 天天黄视频 | 精品精品久久宅男的天堂 | 欧美艳星julnaann | chinese野外gay军人 | 天堂伊人网 | 风间由美在线 | 俄罗斯一级成人毛片 | 冰漪丰满大乳人体图片欣赏 | 插入肥臀 | 色多多视频网站 | 性夜夜春夜夜爽AA片A | 2022国产麻豆剧果冻传媒入口 | 2021小妲己永久回家地址 | 日本视频中文字幕 | 亚洲人成网站在线观看播放青青 | 农村妇女野战bbxxx农村妇女 | 国产高清国内精品福利 | 国产青青操| 亚洲国产精品久久卡一 | 妇乱子伦激情 | 欧美艳星kagneyiynn高清 | 日本高免费观看在线播放 | 动漫美女被褥吸奶漫画漫画 | 国产人va在线 | 特黄特黄一级片 | 亲爱的客栈第二季免费观看完整版 | 手机亚洲第一页 | ysav67| 91大神在线精品视频一区 | 国产精品久久国产精品99 |