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

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

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热国产在线观看 | 国产日韩成人 | 国产资源免费 | 国产成人亚洲综合网站不卡 | 国产在线精品一区二区高清不卡 | 国产一区二区播放 | 亚洲国产精品嫩草影院久久 | 韩国甜性涩爱免费观看 | 欧美专区视频 | 国产精品自在线 | 三级黄色片在线观看 | 欧美综合在线 | 天堂漫画破解版 | 亚洲区一 | 日韩二区三区 | 狠狠干日日操 | 性xxx欧美| katsuniav在线播放 | 草嫩社区 | 大吊操 | 精品一区二区三区在线播放 | 特级淫片欧美高清视频蜜桃 | 国产成+人+综合+亚洲欧美丁香花 | 男人狂擦女人的下面视频 | 无颜之月5集全免费看无删除 | 特黄特色大片免费视频播放 | 91久久青青草原线免费 | anal22日本人视频 | 亚洲看片lutube在线入口 | 国产成人性毛片aaww | 精品AV综合导航 | 亚洲aⅴ男人的天堂在线观看 | fc2成人免费共享视频 | 亚洲黄色免费在线观看 | 精品无码一区二区三区中文字幕 | 色依依视频视频在线观看 | 香蕉久久久 | gay小太正初精 |